Struts2使用开发模式遇到问题。本人刚学,希望各位能帮忙解决一下。感谢。 struts2 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 struts配置的action名字要和表单里action一样啊。还有表单里面参数名字和Action类里面的的参数名也要一样。你改了另一边没改怎么会显示。 这个开发模式没什么关系吧action的名字本来就必须和配置文件中的一致,不然程序找不到 改名字的时候,java类和配置文件同时修改,保证名字一致。tomcat的热部署,struts的开发模式,我觉得都不要太相信它们,每次修改部署后还是老老实实重启一下tomcat吧,这样保险。 这个和开发模式是没有关系的,开发模式只是说你可以使用<s:debug></s:debug>标签来查看数据你造成异常的原因是Action标签中需要加入class=""属性 根据你提供的ACTION标签的写法就有点问题吧。我记得是要有个class的吧。如:<action name="login" class="com.user.LoginAction">要绑定到实际的类的吧。 目测表单中的action少了/,因为你package中命名空间为/ 可以为/,应该是class少配置了。 namespace="/" <action name="hell"> 而你访问的是/hello的问题.. 参考下这个吧<?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.custom.i18n.resources" value="message"></constant> <package name="default" extends="struts-default"> <interceptors> <!-- 声明拦截器 --> <interceptor name="privilege" class="cn.itcast.user.web.interceptor.privilegeInterceptor"> <param name="excludeMethods">login</param> <param name="includeMethods">add,edit,del,findAll,findById,download,display</param> </interceptor> <interceptor name="myexception" class="cn.itcast.user.web.interceptor.ExceptionInterceptor"></interceptor> <interceptor-stack name="mystack"> <interceptor-ref name="myexception"></interceptor-ref> <interceptor-ref name="privilege"></interceptor-ref> <interceptor-ref name="defaultStack"></interceptor-ref> </interceptor-stack> </interceptors> <global-results> <result name="login">/login/login.jsp</result> <result name="error">/error.jsp</result> </global-results> <action name="user_*" class="cn.itcast.user.web.action.UserAction" method="{1}"> <result name="login_success">/login/home.jsp</result> <result name="add_success" type="redirectAction">user_findAll</result> <result name="login_input">/login/login.jsp</result> <result name="add_input">/user/add.jsp</result> <result name="input">/input.jsp</result> <result name="findAll_success">/user/list.jsp</result> <result name="findById_success">/user/view.jsp</result> <result name="del_success" type="redirectAction">user_findAll</result> <result name="download_success" type="stream"> <param name="contentType">${contentType}</param> <param name="contentDisposition">attachment;filename=${downloadfile}</param> <param name="inputStream">${inputStream}</param> </result> <result name="display_success">/user/edit.jsp</result> <result name="edit_success" type="redirectAction">user_findAll</result> <interceptor-ref name="mystack" /> </action> </package></struts> action名称要一致 页面和配置文件里的 绑定下类 最后把项目REMOVE掉 重新部署一下 我们爱分享----一些工作上需要注意的小事情.. 关于HttpClient登陆后重连接问题 一个小程序有错,帮忙看下 JAVA调用C++程序,C++执行完毕后报错。。错误信息看不懂。求救 怎么让java程序在服务器上开机就运行 新手学JSF遇到的一个问题,在网上找了,没找到相关答案,请各位多指教,谢谢 Java 调用C#开发的Webservice weblogic服务器启动报错,求教 Java面试----问题 如何将excel中的日期转换成yyyy-MM-dd 如何写一个从多线程的程序实现tomcat服务器的访问? 想请问一个ssh配置的简单问题
action的名字本来就必须和配置文件中的一致,不然程序找不到
tomcat的热部署,struts的开发模式,我觉得都不要太相信它们,每次修改部署后还是老老实实重启一下tomcat吧,这样保险。
你造成异常的原因是Action标签中需要加入class=""属性
如:<action name="login" class="com.user.LoginAction">
要绑定到实际的类的吧。
<?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.custom.i18n.resources" value="message"></constant>
<package name="default" extends="struts-default"> <interceptors>
<!-- 声明拦截器 -->
<interceptor name="privilege"
class="cn.itcast.user.web.interceptor.privilegeInterceptor">
<param name="excludeMethods">login</param>
<param name="includeMethods">add,edit,del,findAll,findById,download,display</param>
</interceptor>
<interceptor name="myexception"
class="cn.itcast.user.web.interceptor.ExceptionInterceptor"></interceptor>
<interceptor-stack name="mystack">
<interceptor-ref name="myexception"></interceptor-ref>
<interceptor-ref name="privilege"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
</interceptors>
<global-results>
<result name="login">/login/login.jsp</result>
<result name="error">/error.jsp</result>
</global-results>
<action name="user_*" class="cn.itcast.user.web.action.UserAction"
method="{1}">
<result name="login_success">/login/home.jsp</result>
<result name="add_success" type="redirectAction">user_findAll</result>
<result name="login_input">/login/login.jsp</result>
<result name="add_input">/user/add.jsp</result>
<result name="input">/input.jsp</result>
<result name="findAll_success">/user/list.jsp</result>
<result name="findById_success">/user/view.jsp</result>
<result name="del_success" type="redirectAction">user_findAll</result>
<result name="download_success" type="stream">
<param name="contentType">${contentType}</param>
<param name="contentDisposition">attachment;filename=${downloadfile}</param>
<param name="inputStream">${inputStream}</param>
</result>
<result name="display_success">/user/edit.jsp</result>
<result name="edit_success" type="redirectAction">user_findAll</result>
<interceptor-ref name="mystack" />
</action>
</package>
</struts>
最后把项目REMOVE掉 重新部署一下