Tag: struts2

如何将欢迎页面设置为struts操作?

我有一个基于struts的web应用程序,我想默认的“欢迎”页面是一个行动。 我发现的唯一解决scheme似乎是使欢迎页面成为包含redirect到操作的JSP的变体。 例如,在web.xml : <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> 并在index.jsp : <% response.sendRedirect("/myproject/MyAction.action"); %> 当然有更好的办法!

Struts2 + Spring Security 2.06:尝试在Action方法上使用@Secured时,Valuestack为null

在开始之前,我要说我发现的最接近的答案就是在这里,但老实说,我并不真正了解那里发生了什么。 我正在使用带有自定义身份validation提供程序和访问决策pipe理器的Struts2 + Spring Security 2.06来删除“ROLE_”前缀的需要。 我的applicationContext-security.xml如下所示: <beans:bean id="customAuthenticationProvider" class="com.test.testconsole.security.CustomAuthenticationProvider"> <beans:property name="userManagementService" ref="userManagementService"/> <custom-authentication-provider/> </beans:bean> <!–Customize Spring Security's access decision manager to remove need for "ROLE_" prefix–> <beans:bean id="accessDecisionManager" class="org.springframework.security.vote.AffirmativeBased"> <beans:property name="decisionVoters"> <beans:list> <beans:ref bean="roleVoter"/> <beans:ref bean="authenticatedVoter"/> </beans:list> </beans:property> </beans:bean> <beans:bean id="roleVoter" class="org.springframework.security.vote.RoleVoter"> <beans:property name="rolePrefix" value=""/> </beans:bean> <beans:bean id="authenticatedVoter" class="org.springframework.security.vote.AuthenticatedVoter"> </beans:bean> <global-method-security secured-annotations="enabled" access-decision-manager-ref="accessDecisionManager"/> 我的web.xml的相关部分: […]

Struts2与Spring 3

有谁知道Struts2和Spring 3 MVC之间的区别。 我知道Struts 1和Spring 2.5之间的区别,但是Struts2比Spring 3有什么优势。 我尝试过遍寻networking,但是没有任何全面的答案。

Struts标签中的#,%和$符号有什么区别?

我正在使用Struts2,当我访问值堆栈variables,我不知道是否使用%或#或$ 。 我尝试所有这些,直到find正确的。 任何人都可以解释这些有什么区别?

如何将Struts 2与Tiles 3集成

我们如何将Struts 2与Tiles 3整合? 目前struts2-tiles-plugin(2.3.4.1)可以使用旧版本的tile(版本2.0.6),这可能有点麻烦。 这是一个自我回答,帮助他人融合。

当要发送的请求是多部分请求时,Spring CSRF令牌不起作用

我用, Spring Framework 4.0.0发布(GA) Spring Security 3.2.0 RELEASE(GA) Struts 2.3.16 其中,我使用内置的安全令牌来防范CSRF攻击。 Struts的forms如下所示。 <s:form namespace="/admin_side" action="Category" enctype="multipart/form-data" method="POST" validate="true" id="dataForm" name="dataForm"> <s:hidden name="%{#attr._csrf.parameterName}" value="%{#attr._csrf.token}"/> </s:form> 生成的HTML代码如下。 <form id="dataForm" name="dataForm" action="/TestStruts/admin_side/Category.action" method="POST" enctype="multipart/form-data"> <input type="hidden" name="_csrf" value="3748c228-85c6-4c3f-accf-b17d1efba1c5" id="dataForm__csrf"> </form> 这工作正常,除非请求是multipart在这种情况下,请求以状态代码403结束。 HTTP状态403 – 在请求参数“_csrf”或头部“X-CSRF-TOKEN”上find无效的CSRF令牌“null”。 键入状态报告 消息在请求参数“_csrf”或头部“X-CSRF-TOKEN”上find无效的CSRF令牌'null'。 说明禁止访问指定的资源。 spring-security.xml文件如下。 <?xml version="1.0" encoding="UTF-8"?> <beans:beans xmlns="http://www.springframework.org/schema/security" xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/security […]

意外的exception在class xxx上设置了'xxx':设置值为'x'的错误'xxx'

我通过查询string将一些parameter passing给实现ModelDriven<Transporter>的操作类。 <s:form namespace="/admin_side" action="Test" id="dataForm" name="dataForm"> <s:url id="editURL" action="EditTest" escapeAmp="false"> <s:param name="transporterId" value="1"/> <s:param name="transporterName" value="'DHL'"/> </s:url> <s:a href="%{editURL}">Click</s:a> </s:form> 动作类如下。 @Namespace("/admin_side") @ResultPath("/WEB-INF/content") @ParentPackage(value = "struts-default") public final class TestAction extends ActionSupport implements Serializable, Preparable, ModelDriven<Transporter> { private static final long serialVersionUID = 1L; private Transporter transporter = new Transporter(); @Action(value = "Test", results […]

在WebLogic 12.1.3上部署应用程序时,出现“找不到Struts调度程序”错误

在尝试在WebLogic 12.1.3上运行我的应用程序时出现以下错误。 Struts调度程序找不到。 这通常是由于使用没有关联filter的Struts标签造成的。 Struts标签只有在请求通过它的servletfilter时才可用,它初始化这个标签所需的Struts调度器。 这是我的web.xml文件: <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name>SybUI</display-name> <!– location of log4j config file –> <!– <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/classes/log4j2.xml</param-value> </context-param> –> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <listener> <listener-class> org.springframework.web.util.Log4jConfigListener </listener-class> </listener> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <listener> <listener-class>org.springframework.web.context.request.RequestContextListener </listener-class> </listener> <!– <filter> <filter-name>SessionFilter</filter-name> <filter-class>com.syb.core.filter.SessionFilter</filter-class> […]

有没有办法redirect到另一个行动类,而不使用struts.xml

我在我的Struts应用程序中创build了许多类。 我没有检查是否在任何类的login条件。 相反,我已经扩展了基础动作类。 现在我想创build一个预处理程序在我的基本操作来检查login和redirect,如果他们没有login。我想这样的事情。 public BaseAction(){ if(isLoggedIn){ //go to child which was called } else { //redirect to login page } } 另一种方法是通过在所有操作类中调用此方法来检查isLoggedIn() ,并定义一个全局结果 <result name="not-logged-in" type="redirectAction">Login.action</result> 请帮我find更好的方法。

java.lang.ClassNotFoundException:启动Simple Struts2应用程序时,org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

我试图运行一个简单的Struts2应用程序,但它总是抛出以下exception: java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 我已经按照http://struts.apache.org/development/2.x/docs/create-struts-2-web-application-using-maven-to-manage-artifacts-and-to中的一步一步的教程-build-the-application.html,但我不能使它工作。 我也设法find其他使用maven的Struts2教程,但都失败了。 它会引发同样的exception,当我尝试运行应用程序。 我使用了以下内容: 蚀 Maven的 Tomcat的 Struts2的 根据其他讨论,依赖关系的jar文件(例如struts2-core)必须放在lib文件夹中,但是对于我来说,我使用的是Maven,所以所有的依赖关系已经包含在Maven Dependencies下的构buildpath中。 我什至尝试运行在Struts2网站( Basic_Struts_2_Maven_2_3_1_2.zip )给出的示例项目,但我仍然没有运气。 构build它是成功的,但在服务器上运行它总是失败。 我错过了什么? 这是web.xml : <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>Basic_Struts2_Maven</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app> pom.xml : <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>manning</groupId> <artifactId>Basic_Struts2_Mvn</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> […]