[英]How to pass a parameterised method to a Struts 2 action's method attribute?
我將使用like
表達式從數據庫中搜索數據。 我的方法如下所示:
public List<Item> getData(String qString){
return itemJpa.getSuggestedData(qString);
}
我的目的是當我向qString
變量輸入查詢字符串時,我需要獲取列表中的數據。 我正在使用Struts2。 我需要將此方法映射到struts操作的method屬性。 如
<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,它具有默認的no-arg構造函數或根本沒有構造函數(在這種情況下,使用隱式默認構造函數)。 當您請求由該動作配置映射的動作時,Struts將實例化bean。 因此,要使其能夠工作,您應該遵循以下簡單規則。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.