Tag: struts2

更改多模块Maven Web项目的struts.xml文件名

我有一个包含多个模块的Maven项目。 在四个模块中,其中两个是Web模块。 这是结构。 MyProject | |__ api | |__ commons | |__ web_child | |__ web_main web_main模块是主要模块,它也可以包含web_child模块。 web_child模块结构是 web_child | |__ src/main/java //java action classes and all |__ src/main/resources | |__ struts-config.xml | |__ WEB-INF |__ JSP Pages web_main模块结构是 web_main | |__ src/main/java //java action classes and all |__ src/main/resources | |__ struts.xml | |__ […]

Struts 2 – 重用自定义表达式validation器

在struts 2中,我们可以开发@CustomValidator ,它可以在应用程序范围内使用 @CustomValidator(type = “CustomerNumberValidator”, fieldName = “customerNo”) 为了validation@ExpressionValidator一个FIELD我们使用@ExpressionValidator @ExpressionValidator(expression = “( (!”.equals(account.firstName) && (!”.equals(account.lastName) ) || (presonalAccount == false)”, key = “validate.account.name”) 如果表达式太复杂并且需要在MORE THAN ONE FIELD上工作,我们使用OGNL来调用静态方法。 静态方法将执行validation并返回一个boolean @ExpressionValidator(expression = “@foo.bar.CalendarUtil@compareDates(fromDate,toDate)”, key = “validate.date.before”) 以上是自定义表达式validation器的一些方法! 我们在应用程序范围内使用@foo.bar.CalendarUtil@compareDates来为我们进行此validation。 还有另一种方法可以让我们使用自定义宽validation器吗?! 是否有任何可以添加到struts的自定义表达式validation器,我们可以按照我们使用@CustomValidator的方式调用它

在Struts 2中使用Ajax URL调用操作

我正在尝试使用Ajax中的URL连接到我的action类。 但它没有进入我的动作类,甚至没有使用$(“#selectedCountry”).val()显示所选值。 function getstates(){ alert($(“#selectedCountry”).val()); $.ajax({ type : “GET”, url : “/ThirdTask/selectstate.action”, dataType : ‘text’, data : “name=”+$(“#selectedCountry”).val(), success : function(){ $(‘statesdivid’).html(); }, error : alert(“No values found..!!”) }); } 我的JSP代码如下: 我的struts.xml : selecttag.jsp

拒绝使用Naming Convention插件直接访问Struts2中的JSP文件

我一直在努力解决这个问题,因为我是Struts2开发的新手,最近才开始使用这个命名的Convention Plugin。 我正在尝试创建一个简单的webapp,起初只包含两个页面: 登录页面(login.jsp) 主页(home.jsp) 首先向用户显示登录页面,如果提供了正确的用户名和密码,他们将登录并重定向到主页。 我已成功设法创建我的小型webapp,写下自定义登录拦截器,一切正常并按预期工作。 我可以将用户重定向到登录页面,如果他/她试图直接调用HomeAction (如果您以前登录则会导致home.jsp ),如http://myserver/homeAction 。 当我尝试像这样直接访问JSP时出现问题: http://myserver/home 当我使用这个convention plugin ,struts会获取我的home.jsp插件并显示它。 这不是我期望的行为,因为home.jsp应该仅作为loginAction成功结果显示。 我试图解决这个问题的事情 好吧,据我搜索,将我的JSP放在/WEB-INF/目录中可以防止它们被访问,但事实并非如此,因为我的所有JSP都在/WEB-INF/content/ 。 我尝试的另一件事是阻止访问任何JSP资源(阻止*.JSP请求)。 只要您尝试访问myserver/home.jsp ,但在访问myserver/home时失败(如预期的那样),这就可以解决问题。 编辑: stackoverflow中有关于此问题的另一个问题,但我无法理解答案: Struts 2 Convention Plugin和WEB-INF下的JSP文件 信息更新:我发现Struts2约定插件使用了一种称为“无动作结果”的东西,所以你可以通过调用没有它扩展的JSP来访问你的WEB-INF/content目录中的JSP ,它会将它作为一个虚拟动作来处理它。 JSP成功返回该JSP 。 这是一个例子来说明我想要解释的内容: 如果我在WEB-INF/content目录中有home.jsp并调用http://myserver/home ,Struts2将“触发”一个结果为home.jsp 。 那么问题的解决方案就是禁用这种“无动作”的结果。 如果没人提供答案,我将继续更新问题。

在Struts2中设置响应的内容类型

所以,我正在使用Struts2的freemarker模板来制定我的回复。 但是,由于我也尝试使用taconite,我需要使用“text / xml”的内容类型发送响应。 我似乎无法找到一种方法来使用freemarker指令来设置内容类型,而且我不太了解struts是否有办法通过它来实现它。 那么,我该怎么做呢?

缺少工件javax.transaction:jta:jar:1.0.1B(问题不同,因为您可能会看到分辨率不同)

我正在尝试使用此处的示例来学习Hibernate-Spring-Struts。 但是在创建pom.xml后出现此错误: Missing artifact javax.transaction:jta:jar:1.0.1B 我只是创建了pom.xml文件并进行了更改以包含最新的库。 这是我的pom.xml : 4.0.0 S3HMaven S3HMaven 0.0.1-SNAPSHOT jar S3HMaven http://maven.apache.org UTF-8 junit junit 4.11 test javax.transaction jta 1.0.1B org.apache.struts struts2-core 2.1.8 org.apache.struts struts2-spring-plugin 2.3.15.2 mysql mysql-connector-java 5.1.26 org.springframework spring 2.5.6 org.springframework spring-web 2.5.6 org.hibernate hibernate 3.2.7.ga dom4j dom4j 1.6.1 commons-logging commons-logging 1.1.1 commons-collections commons-collections 3.2.1 cglib cglib 2.2 antlr antlr […]

Action类可以限定为Singleton吗?

我的问题不仅仅是动作类可以限定为单例,而且我还想知道哪些是最佳实践。 两者都在Struts2和Spring的背景下。 控制器和型号的最佳VIEW范围(例如请求或会话)。

如何使用struts2提交标签作为按钮而不提交表格?

我在我的应用程序中使用Struts2框架,我的JSP页面上有一个按钮。 那是 现在,我希望此按钮的行为与正常的HTML按钮类型一样,不应该提交表单并在onclick事件上执行Scriptingfunction。 该函数使用Ajax提交表单。 但是发生了什么是Struts2将其转换为 我的表格已提交。 1)如果我使用HTML按钮标签,它将弄乱GUI。 我的forms的主题是Ajax。 这是带脚本的head标记 $(“btnSave”).click(function(){ alert(“aaa”); $.ajax({ url: type:”POST”, dataType: “json”, error: function(XMLHttpRequest, textStatus, errorThrown){ alert(‘Error ‘ + textStatus); alert(errorThrown); alert(XMLHttpRequest.responseText); }, success: function(){ alert(‘SUCCESS’); } }); }); 我的body标签是粉丝: EMPLOYEE REGISTRATIOM TAB <input type="hidden" name="empbean.id" value="”/> .. .. Other Tabs 任何人都有任何想法用Struts2处理它然后请帮助。 非常感谢您的帮助。

Struts 2“%”符号和“#”符号表示OGNL

任何人都可以告诉我如何在STRUTS2 OGNL中使用“%”和“#”符号? 我谷歌周围,但找不到任何有价值的信息。或者给我一个文档的链接。 谢谢

使用Interceptorvalidation用户访问权限

我试图使用Interceptor来限制用户执行某些操作。 ContainsKeyInterceptor : public class ContainsKeyInterceptor extends AbstractInterceptor implements SessionAware { private static final long serialVersionUID = 1L; private Map session; @Override public String intercept(ActionInvocation actionInvocation) throws Exception { if(session == null) { System.out.println(“session is null”); } if(session.containsKey(“currentId”)) { return “index”; } String result = actionInvocation.invoke(); return result; } @Override public void setSession(Map session) { […]