<s:submit> 指定的method方法不执行

很多文章在讲一个表单多个提交方法的时候都是在<s:submit>中通过method来指定,但是我在试验中怎么也不对,jsp页面代码如下

<%@page import="org.apache.naming.java.javaURLContextFactory"%>
<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>输入操作数</title>
</head>
<body>
<!-- 提交请求参数的表单 -->
<s:form action="submit" namespace="/test2">
<font color='red'>
<s:property value="message"/></font>
输入内容<s:textfield name="msg"/>
<s:submit name="save" value="保存" align="left" method="save"/>
<s:submit name="print" value="打印" align="left" method="print"/>
</s:form>
</body>
</html>

 struts.xml文件如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>  
    <package name="p2"  namespace="/test2" extends="struts-default" >
        <action name="submit" class="action.MoreSubmitAction" >
        <!-- method 屬性的默認值是execute方法 -->
            <result name="save">/test2/result.jsp</result>
            <result name="print">/test2/result.jsp</result>
        </action>
    </package>
</struts>

每次提交都提示找不到execute方法,也就是说设置的method方法无效。

解决方法:

struts2版本是2.3的,需要在struts.xml中加入

<constant name="struts.enable.DynamicMethodInvocation" value="true" />

新的struts2.xml如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>  
  <constant name="struts.enable.DynamicMethodInvocation" value="true" />  <package name="p2" namespace="/test2" extends="struts-default" > <action name="submit" class="action.MoreSubmitAction" > <!-- method 屬性的默認值是execute方法 --> <result name="save">/test2/result.jsp</result> <result name="print">/test2/result.jsp</result> </action> </package> </struts>

 

posted @ 2015-05-06 09:57  RyderWang  阅读(634)  评论(0编辑  收藏  举报