关于shopxx的action配置问题

问题描述

最近研究shopxx的时候,有个问题搞不明白: shopxx很多地方都是用动态方法调用(如:role!edit.action),并没有在struts2的配置文件中配置,那肯定就是用的注解了,那在struts2的action类中,这个注释道底是如何写的呢? 能给个成功的例子么?用的框架是struts2 2.2.3+hibernate/jpa+spring3把@Action放在class上面老是报错,如:将@Action("/init")放在Action类上面(报错如下),@Controller("/init")放在Action类上则正确:15:20:46,640 ERROR Dispatcher:38 - Could not find action or result/manage/init.actionNo result defined for action com.test.action.manage.InitAction and result successat com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:375)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:277)at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:270)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:498)at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:113)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:144)at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)at java.lang.Thread.run(Thread.java:595) 问题补充:AngelAndAngel 写道

解决方案

哦。我的struts2 action的配置是这样的@Namespace("/resume")@Action(value = "/resumeAction")@Results( {@Result(name = "resume_school", location = "/WEB-INF/jsp/resume/resume_schoolslTree.jsp"),@Result(name = "shielding_companies", location = "/WEB-INF/jsp/resume/shielding_companies .jsp") })
解决方案二:
引用将@Action("/init")放在Action类上面(报错如下),@Controller("/init")放在Action类上则正确: @controller是spring的注解,是spring的mvc吧,你现在到底是想用哪种的,是用struts的吧,那么就得用@Action,当然你不能光这样就完事儿,假如要用struts的action注解,步骤应该这样:1,配置web.xml里面的filter比如<!-- Struts2 filter --><filter><filter-name>struts2CleanupFilter</filter-name><filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class></filter><filter><filter-name>struts2Filter</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2CleanupFilter</filter-name><url-pattern>*.action</url-pattern><dispatcher>REQUEST</dispatcher><dispatcher>FORWARD</dispatcher></filter-mapping><filter-mapping><filter-name>struts2Filter</filter-name><url-pattern>*.action</url-pattern><dispatcher>REQUEST</dispatcher><dispatcher>FORWARD</dispatcher></filter-mapping>2,不要把spring自己的mvc注解和struts的用混了,不要既配@action又配置@Controller。配置注解的时候注意一下。
解决方案三:
@Action是spring的注解么(没用过spring和最新的struts),如果它是struts2的注解,就不能这么用了,因为已经把struts2交给spring管理了
解决方案四:
我有个例子 发给你看看。

时间: 2024-07-31 09:31:52

关于shopxx的action配置问题的相关文章

ssh2框架中action配置问题

问题描述 ssh2框架中action配置问题 ${ewsurl} 哪位大神能够详解下上面代码的意思??本人初学,有点看不懂.. 解决方案 el表达式?或者ongl表达式?用法就是你后台传了个值,前台这样能直接获取得到 解决方案二: ssh2框架Struts2中action的属性配置错误问题SSH2框架web.xml的配置SSH2框架Hibernate一些配置 解决方案三: 比如你发的请求是addEnews,,那么method="add",,method就是和前面第一个*号匹配的,,

javaweb-关于struts2中action层的问题

问题描述 关于struts2中action层的问题 今天公司要我把实体entity复制一份,写在一个类中,查出来的数据通过BeanUtils.copyProperties放在复制的那个类中,action不实现modelDriven,而是get/set复制的这个类.前面这些只是今天遇到的,大概说一下. 主要想问的是,公司那边不让写这一句: 那我查到的东西,怎么在jsp页面写呢?我唯一能想到的是在action中写一个List属性,get/set.不过我觉得这样好麻烦,他为什么不让使用这一句呢?我搞不

xml-struts配置问题大家帮忙看下错误在哪里

问题描述 struts配置问题大家帮忙看下错误在哪里 struts文件 /404.jsp /photo.jsp loginAction public class LoginAction extends ActionSupport implements ModelDriven{ private UserService userService; private LoginInfo loginInfo=new LoginInfo(); public String execute(){ System.o

JSP页面必须手动刷新问题求助!

问题描述 SSH框架的程序,前台JSP页面,必须手动刷新一下才能取到最新的值,为什么?已经采取的方法jSP页面已经添加了清缓存,ACTION调用添加了时间戳等方法,哪位大侠知道这到底是为什么? 解决方案 解决方案二:只这些描述实在是没法分析.我估计jsp代码的逻辑或者顺序有问题解决方案三:jsp在页面的值不会自己获取的,解决方案四:我觉得是跳转的原因,看看action配置问题解决方案五:应该是你哪块逻辑或者action跳转的原因吧,仔细检查下你的代码.解决方案六:B/S是被动式的啊,你不请求服务

求大神解救application如何配置问题

问题描述 求大神解救application如何配置问题 解决方案 <?xml version="1.0" encoding="UTF-8"?> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springf

web.xml-急急急!servlet配置问题求教高手

问题描述 急急急!servlet配置问题求教高手 test是工程名,testServlet.class是放在tomcatwebapps estWEB-INFclassesaaa包下的,index.jsp是放在tomcatwebapps estbb包下的. servlet的web.xml配置是: testServletaaa.testServlet testServlet/url index.jsp页面的form提交是: 为什么在index.jsp的form表单提交的时候会报java.lang.N

name-ssh框架配置问题struts配置出错

问题描述 ssh框架配置问题struts配置出错 2014-12-31 9:52:38 org.apache.catalina.startup.ContextConfig applicationWebConfig 严重: Parse error in application web.xml file at jndi:/localhost/DMS-CMS/WEB-INF/web.xml java.lang.IllegalArgumentException: Filter mapping speci

mailenable 邮件服务器 安全性配置问题.垃圾邮件处理

问题描述 mailenable 邮件服务器 安全性配置问题.垃圾邮件处理 mailenable 标准版本9 情况 描述 : 只要开启服务 就会被 别人 用作发送服务 日志如下.: SMTP-IN - xxxx.xxx.xx.xxx 712 MAIL MAIL+FROM:+xxxxxx@xxxxx.com.tw 250+Requested+mail+action+okay,+completed EBS-45266 43 42 - 不知道 为什么 不需要 验证就 能连接 进来 . 所以我在 inbo

报No action config found for the specified url错,不知道错哪里了

问题描述 struts-config.xml配置如下:<form-beanname="filmForm"type="com.xyz.struts.form.FilmForm"></form-bean><global-forwards><forwardname="filmList_success"path="/admin/film"redirect="true"/&g