Tag: struts2

如何从值堆栈中删除操作?

我正在尝试让我的动作课单身。 关键是要在MVC模式中使动作类成为真正的控制器。 特别是在实现REST控制器时,控制器的范围可以扩展到应用程序的生命周期。 与Spring框架一样,默认情况下控制器被置于默认范围内,Spring中的默认范围是单例。 Struts2也有一个默认范围,它也是单例。 我想将我的动作类放到这个范围,并从值栈中删除它们。 我如何修改Struts2框架以使我的操作像Spring中的控制器一样? 我知道我可以将操作类的管理委托给Spring,但是我不能使用默认范围,并且Struts2容器仍在继续运行。 我无法从框架中删除它,因为它不可插拔。 所以,捎带Spring和Struts2容器我无法使我的动作类单例,因为Struts2实例化它们并放入值栈。 这是我的问题:如果我选择Struts和Spring之间的容器将我的动作类放到默认范围,我怎么能告诉Struts2框架不要把它们放到值栈?

请求转到Struts Dispatcher

我配置了Struts 2和Spring MVC。 我的web.xml如下所示。 当我点击REST URL上传文件时,它会调用struts调度程序而不是Spring。 URL /rest/uploadfile/iec9.pdf将转到Struts Dispatcher struts2 org.apache.struts2.dispatcher.FilterDispatcher struts2 /* springmvc-dispatcher org.springframework.web.servlet.DispatcherServlet 1 springmvc-dispatcher /rest/* contextConfigLocation /WEB-INF/springmvc-dispatcher-servlet.xml org.springframework.web.context.ContextLoaderListener jsonpCallbackFilter org.springframework.web.filter.DelegatingFilterProxy jsonpCallbackFilter *.json

如何使用OGNL索引引用运算符

使用OGNL,您可以使用#application引用操作上下文对象,如#application , #session , #root , #action #application , #session , #root , #action和action上下文。 框架将OGNL上下文设置为我们的ActionContext,将值堆栈设置为OGNL根对象。 OGNL使用[]作为索引引用来访问对象属性。 例如,如果对象foo有一个属性bar那么它可以像foo.bar或foo[‘bar’] 。 如果foo是一个地图而bar是一个键,它也可以工作。 现在,我想将一个变量和一个值放到值栈上下文中 并打印该值 它应该打印hello 。 我想知道它是如何工作的。 我知道#attr是一个没有#foo引用的属性的#foo ,即bar 。 然而这是有效的。 如果我使用#request和#context ,并且可能是#root而不是#attr ,它也可以工作。 这两个对象都没有属性bar ,但OGNL认为不然。 我想知道OGNL对它引用的对象的属性的看法以及为什么这个表达式正在工作。 另外,如果有其他方法可以在OGNL表达式中使用#foo引用打印hello 。

Struts2中有多种结果类型?

我有一个使用Tiles的Struts2应用程序。 如何在动作映射中获得多个结果类型? 因为我需要将de输出设置为JSON数据,并将Tiles同时设置。 我试过了: tiles.home 但这不起作用

如何将spring checkbox标签转换为struts2复选框?

将弹簧复选框标签转换为支柱时出现问题… 我有一个在spring写的复选框标签,我需要使用从数据库进入pojo的值将其转换为struts复选框shuld启用和禁用根据… 以下是spring中复选框上的代码片段: 这又是什么: – menuList[${status.index}]

Struts2 jQuery struts-plugin.xml无效

我已经设置了一个项目,它是Struts2 + Springs + JPA的组合。 我最近遇到了Struts2-Jquery插件 在我的项目中使用此插件(struts2-jquery-plugin-3.5.1.jar)我收到了一个错误 Unable to load jar:file:/H:/My%20Project/phase1/build/web/WEB-INF/lib/struts2-jquery-plugin-3.5.1.jar!/struts-plugin.xml – Class: java.net.PlainSocketImpl File: PlainSocketImpl.java Method: connect Line: 195 – java/net/PlainSocketImpl.java:195:-1 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:909) at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:154) at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:121) at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:179) at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66) … 48 more Caused by: java.net.UnknownHostException: struts.apache.org at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:195) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:529) at java.net.Socket.connect(Socket.java:478) at sun.net.NetworkClient.doConnect(NetworkClient.java:163) at sun.net.www.http.HttpClient.openServer(HttpClient.java:394) at sun.net.www.http.HttpClient.openServer(HttpClient.java:529) at sun.net.www.http.HttpClient.(HttpClient.java:233) […]

无法部署EAR文件

我正在开发struts2框架中的web模块和eclipse中的ejb模块,hibernate作为ORM框架。 每当我修改我的ejb模块时,我都必须将它打包到jar中并将其包含在我的web模块/ WEB-INF / lib文件夹中,以便运行我的整个应用程序。 虽然应用程序以这种方式运行良好,但它确实非常耗时。 所以我试着在EAR模块中映射它们。 但是当我尝试运行EAR模块时。 它给出了以下例外 2016-12-24 13:23:43,992 ERROR [org.apache.struts2.dispatcher.DefaultDispatcherErrorHandler] (default task-4) Exception occurred during processing request: WFLYEJB0442: Unexpected Error: javax.ejb.EJBException: WFLYEJB0442: Unexpected Error at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:184) at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:277) at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:327) at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:239) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:47) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:100) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) at org.jboss.as.ejb3.deployment.processors.StartupAwaitInterceptor.processInvocation(StartupAwaitInterceptor.java:22) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) Caused by: […]

更新对象属性

我正在使用Struts 2,我的问题是我不想更新所有对象属性,因为我得到了一些敏感数据。 这是我的代码示例 public class person { private name; private email; private password; } 以我的forms为例,我显示了更新的名称和电子邮件,因此当我在提交后更新我的人员属性时,该人的密码属性获取值null,但是当我将属性密码放在标签中时在forms上更新工作正常。 如何让Struts 2记住密码的值而不使用表单中的隐藏标签?

Struts 2 convention插件 – 上传超过2 MB的文件

如果我尝试上传超过2 MB大小的文件,则会出错。 我发现在apache网站上说“有两个单独的文件大小限制。首先是来自Struts 2 default.properties文件的struts.multipart.maxSize。出于安全原因,此设置存在以禁止恶意用户上传极大文件提交你的服务器磁盘空间。这个设置默认大约2兆字节,应该调整到你需要框架接收的最大文件大小(最大2格) 所以我发现这个问题可以通过在struts.xml文件中添加带有所需最大限制的标记来解决。 我们使用的是struts2-convention-plugin,所以我们没有struts.xml。 所以我不确定在哪里定义这个最大文件大小… 如果你们中的任何一个人遇到过这个问题,请告诉我。 感谢您的帮助。

在struts 2中上传video

我想在我的struts 2 Web应用程序中上传video。 为此,我使用文件上传拦截器 。 我的问题是,我能够成功上传图像和文本文件,但无法查看video和flash文件,文件参数在我的操作中没有得到初始化。 我是按照以下方式做的: struts.xml中的条目: image/png,image/gif,image/jpeg,image/pjpeg,image/jpg,video/x-ms-rmvb,video/x-ms-wmv,video/x-ms-avi, video/fli,video/x-fli,video/x-atomic3d-feature,video/gl,video/x-gl,video/x-isvideo,video/mpeg,video/x-motion-jpeg,video/quicktime,video/x-sgi-movie, video/x-mpeg,video/vnd.rn-realvideo,video/x-scm <!– text/plain –> 10485760 dssUploadContent dssUploadContent login.jsp 我在这做什么错,请告诉我。 谢谢。