簡體   English   中英

Struts2提交按鈕方法調用不會觸發

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM