我试图在“提交”按钮上调用一个操作,但是它不起作用。
index.jsp
<s:form method="post" enctype="multipart/form-data"> <s:file label="Upload Matrix.csv file:" name="file"></s:file> <s:submit value="Upload" action="uploadFile" cssClass="btn btn-info"></s:submit> <s:submit value="Update" action="fileData" cssClass="btn btn-primary" /> <s:submit value="Show" action="sessionMatrix" cssClass="btn btn-primary"/> </s:form>
struts.xml
<struts> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <constant name="struts.devMode" value="true" /> <constant name="struts.ui.theme" value="bootstrap" /> <package name="default" namespace="/" extends="json-default,struts-default"> <!-- cities populate --> <action name="ajaxAction" class="com.action.PopulateCities"> <result type="json">/sessionMatrix.jsp</result> </action> <!-- JTable populate --> <action name="*Action" class="com.action.SessionRecordsAction" method="{1}"> <result type="json">/sessionMatrix.jsp</result> </action> <action name="getJSONResult" class="com.action.SessionRecordsAction" method="list"> <result type="json" /> </action> <!-- to upload csvfile data into database --> <action name="fileData" class="com.util.UploadData"> <result name="success">/sessionMatrix.jsp</result> <result name="error">/error.jsp</result> </action> <!-- to display data into table i.e ResultSet implementation --> <action name="sessionMatrix" class="com.action.SessMatrixAction"> <result name="success">/exportSession.jsp</result> <result name="error">/error.jsp</result> </action> <!-- upload file --> <action name="uploadFile" class="com.action.FileUpload"> <interceptor-ref name="defaultStack"> <param name="fileUpload.maximumSize">10485760</param> </interceptor-ref> <result name="success">/dashboard.jsp</result> <result name="error">/error.jsp</result> <result name="input">/dashboard.jsp</result> </action> </package> </struts>
我正在做的是调用每个动作类的execute方法,我甚至通过在动作标签以及<s:submit>标签中提及method属性来尝试。
<s:submit>
从Struts 2.3.15.3开始,您需要显式启用以下操作:后缀为:
<constant name="struts.mapper.action.prefix.enabled" value="true"/>