我将使用 like
表达式从数据库中搜索数据。我的方法如下所示:
public List<Item> getData(String qString){
return itemJpa.getSuggestedData(qString);
}
我的目的是当我向 qString
变量输入查询字符串时,我需要获取列表中的数据。我正在使用 Struts2 来完成此操作。我需要将此方法映射到 struts 操作的方法属性。比如
<action name="DummyDB" class="com.shopping.op.welcome.DummyDB" method="**In Here**"></action>
这可能吗?如果是的话我该怎么做?
您无法将操作映射到签名中包含参数的方法,也无法返回 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>
除此之外,您还需要知道映射到操作的类应该是合格的 java bean,它具有默认的无参数构造函数或根本没有构造函数(在这种情况下,隐式默认构造函数是用过的)。当您向此操作配置映射的操作发出请求时,Struts 将实例化该 bean。因此,要使其能够实现,您应该遵循这些简单的规则。
我是一名优秀的程序员,十分优秀!