gpt4 book ai didi

java - Tapestry - 接收两个上下文并在表单中使用它们

转载 作者:行者123 更新时间:2023-12-01 09:36:20 28 4
gpt4 key购买 nike

我收到两个名为 uId 和 oId 的上下文(两者都很长)。

通过 onActivate,我将 userId 上下文保存在变量 userId 中,与 orderId 相同。当我在 onActivate 中时,我可以打印这两个变量,但如果我使用(例如)表单,则 userId 为 null。

我如何才能访问表单中的这些变量。

代码如下:

public class newMessage{

@Property
private Long userId;

@Property
private Long orderId;

@Component
private Form newMessageForm;


void onActivate(Long userId, Long orderId){
this.userId = userId;
System.out.println("User Id: " + userId);
this.orderId = orderId;
System.out.println("Order Id: " + orderId);
}


@OnEvent(value = EventConstants.VALIDATE, component = "newMessageForm")
public void checkForm() {
System.out.println("userId: " + userId);
System.out.println("orderId: " + orderId);
}

最佳答案

@PageActivationContext 现在通过新的 index 支持多个值5.4 中添加的功能。如果您使用它,则不需要显式的 onActivateonPassivate 声明。

例如:

public class NewMessage {
@Property
@PageActivationContext(index=0)
private Long userId;

@Property
@PageActivationContext(index=1)
private Long orderId;

更多信息here

关于java - Tapestry - 接收两个上下文并在表单中使用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38875964/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com