gpt4 book ai didi

parameter-passing - 如何将变量从一个 actionbean 传递到另一个?

转载 作者:行者123 更新时间:2023-12-04 06:17:16 24 4
gpt4 key购买 nike

目前,我有一个带有提交按钮的 Stripes 表单,该按钮绑定(bind)到以下 ActionBean 的“搜索”方法:

public class SearchRepairActionBean extends BaseActionBean {
private String searchType;
private String searchValue;

@DefaultHandler
public Resolution defaultHandler(){
return null;
}

@HandlesEvent("search")
public Resolution search(){
return new ForwardResolution("SearchRepairResult.action").addParameter("searchType", searchType).addParameter("searchValue", searchValue);;
}

public String getSearchType() {
return searchType;
}

public void setSearchType(String searchType) {
this.searchType = searchType;
}

public String getSearchValue() {
return searchValue;
}

public void setSearchValue(String searchValue) {
this.searchValue = searchValue;
}
}

SearchRepairResultActionBean 试图这样解决它:
public class SearchRepairResultActionBean extends BaseActionBean {
private String searchType;
private String searchValue;

@DefaultHandler
public Resolution defaultHandler(){
return new ForwardResolution("/jsp/searchRepairResult.jsp");
}

@HandlesEvent("SearchRepairResult")
public Resolution SearchRepairResult(){
System.out.println(searchType);
System.out.println(searchValue);
}
public String getSearchType() {
return searchType;
}

public void setSearchType(String searchType) {
this.searchType = searchType;
}

public String getSearchValue() {
return searchValue;
}

public void setSearchValue(String searchValue) {
this.searchValue = searchValue;
}
}

问题是当我尝试打印“searchType”和“searchValue”时 - 它们返回 null。我是否错误地传递了参数?这样做的最佳方法是什么?

最佳答案

你为什么收到 typevalue调用 getContext().getRequest().getParameter() ?您应该可以在 SearchRepairResultActionBean 上使用方法像这样:

public void setType(String type) {
this.type = type;
}

public void setValue(String value) {
this.value = value;
}

然后 Stripes 会在调用你的事件方法之前注入(inject)必要的值(作为 LifecycleStage.BindingAndValidation 的一部分)。

实际上,你为什么要分开 SearchRepairActionBean来自 SearchRepairResultActionBean ?如果“结果”页面需要查看来自提交到 search 的表单的数据事件,那么为什么不直接执行 search() 中的操作? SearchRepairActionBean上的方法,然后执行 ForwardResolution对你的看法?在这里使用两个 ActionBeans 有什么特别的原因吗?

关于parameter-passing - 如何将变量从一个 actionbean 传递到另一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7071552/

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