我将使用like
表达式从数据库中搜索数据。我的方法如下:
public List<Item> getData(String qString){
return itemJpa.getSuggestedData(qString);
}
我的目的是当我向qString
变量输入查询字符串时,我需要获取列表中的数据。我是用Struts2做的。我需要将此方法映射到struts action的method属性。如
<action name="DummyDB" class="com.shopping.op.welcome.DummyDB" method="**In Here**"></action>
有可能吗?如果是这样我怎么办?
答案 0 :(得分:0)
您无法将操作映射到签名中包含参数的方法,也不能返回String
以外的结果。你能做的是创建另一种方法,例如doData()
private List<Item> data;
//getter and setter
public String doData() {
data = getData(qString);
...
return Action.SUCCESS;
}
<action name="DummyDB" class="com.shopping.op.welcome.DummyDB" method="doData">
<result>/jsp/whateveryoudo.jsp</result>
</action>
除此之外,你需要知道映射到action的类应该是一个合格的java bean,它有一个默认的no-arg构造函数或根本没有构造函数(在这种情况下隐式的默认构造函数是用过的)。当您对此操作配置映射的操作发出请求时,Struts将实例化该bean。所以,要做到这一点,你应该遵循这些简单的规则。