[英]Struts2 submit button method call doesn't fire
我的以下代碼有問題,任何人都可以解釋為什么未在jobListAction上觸發該方法的原因嗎? 提交表單后,將兩次調用“設置”。 簡而言之,我似乎無法獲得Struts按鈕來調用多個方法。 任何指針/要檢查的東西?
public class JobListAction {
public String execute() {
System.out.println("setup");
}
public String deactivate() {
System.out.println("called");
}
public String callonme()
{
}
}
JSP:
<s:form id="recordsListForm" method="post" action="jobList">
<s:submit type="button" action="deactivate" value="Deactivate Selected Jobs" method="deactivate" />
<s:submit type="button" action="callonme" value="CallonMe" method="callonme" />
</s:form>
Struts.xml
<!-- Job List -->
<action name="jobList" class="JobListAction">
<result name="input">/jsp/admin/jobList.jsp</result>
<result name="success">/jsp/admin/jobList.jsp</result>
</action>
<!-- Job List - Deactivate Job -->
<action name="deactivate" class="JobListAction" method="deactivate">
<result name="input">/jsp/admin/jobList.jsp</result>
<result name="success">/jsp/admin/jobList.jsp</result>
</action>
<action name="callonme" class="JobListAction" method="callonme">
<result name="input">/jsp/admin/jobList.jsp</result>
<result name="success">/jsp/admin/jobList.jsp</result>
</action>
我想在struts 2中您需要在Struts.xml文件中告訴方法名稱,嘗試一下,我希望它能起作用...
<action name="jobList" class="JobListAction" method = "deactivate">
<result name="input">/jsp/admin/jobList.jsp</result>
<result name="success">/jsp/admin/jobList.jsp</result>
</action>
如果您想擁有一個可以在同一個動作類中調用多個方法的動作聲明,請考慮使用通配符映射 :
視圖
<s:form id="recordsListForm" method="post" action="jobList">
<s:submit type="button" action="jobList_deactivate" value="Deactivate Jobs" />
<s:submit type="button" action="jobList_callonme" value="CallonMe" />
</s:form>
struts.xml
<!-- Job List -->
<action name="jobList_*" method="{1}" class="JobListAction">
<result name="input">/jsp/admin/jobList.jsp</result>
<result name="success">/jsp/admin/jobList.jsp</result>
</action>
上面的映射將匹配任何以jobList_
開頭的action
,然后將其余的匹配用作在JobListAction
類中調用的方法。
對我來說很好; 什么版本的? 是否啟用了動態方法調用(默認情況下)?
“調用多種方法”是什么意思? 每個請求只能調用一個方法。
我的標准輸出:
setup // On initial form display
called // Clicking submit
逐字剪切(或多或少)粘貼您的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.