Tag: struts2 interceptors

如何使用OGNL调用操作方法

如何使用OGNL调用操作方法? helloAction.java public String getQuote() { return “Don’t think, just do”; } success.jsp quote() : struts.xml /WEB-INF/resources/success.jsp /WEB-INF/resources/success.jsp 我从struts 2 OGNL获得了ref链接 不调用此quote()方法。 我正在使用xwork-2.0.1.jar和ognl-2.6.11.jar。

如何在struts2中禁止缓存?

在我的Web应用程序中,当用户注销时,他不应该访问他以前在登录时查看的页面。但是,由于浏览器缓存,他可以在单击后退按钮时查看这些页面。 我定义了一个Interceptor来处理这个: public String intercept(ActionInvocation invocation) throws Exception { // TODO Auto-generated method stub final ActionContext context = invocation.getInvocationContext(); HttpServletResponse response = (HttpServletResponse)context.get(StrutsStatics.HTTP_RESPONSE); if(response!=null){ response.setHeader(“Cache-control”, “no-cache, no-store”); response.setHeader(“Pragme”, “no-cache”); response.setHeader(“Expires”, “-1”); } return invocation.invoke(); } 在struts.xml : 添加此内容后,我运行应用程序时出现404错误。 我尝试在页面中添加响应标头: 但是,必须逐个将它添加到所有页面,这将是乏味的。 此外,用户可以始终重新提交表单,并且无需实际输入登录凭据即可再次访问这些页面。 理想情况下,我应该做些什么来阻止浏览器缓存?

保留Struts 2中多个JSP和Actions之间的值

我的struts项目结构如下: page1 – > action1 – > page2 – > action2 – > page3 我需要的是我在第1页的输入标签中输入的值,以便在action2中访问。 这是我的代码: 第1页: Enter id: 动作1: public class AddId extends ActionSupport { private int txtid; //getter and setter @Override public String execute() throws Exception { return “success”; } } 第2页: Your id entered is: First name: Last name: Age: 动作2: public […]

如何在Struts 2中使用没有后缀的URL(例如.action)?

这就是我需要的东西,我不仅需要使用我的.war来提供java,还需要一些javascript文件。 所以e,g。 如果有人去了url: example.com/js/foo.jar 然后我需要将其正确地作为javascript文件提供。 同时,如果有人去: example.com/bar 我需要将Struts2作为可能的控制器来提供服务。 我在网上发现的从url中删除后缀的方法会导致两个URl由struts 2提供(因此即使它存在,也会给第一个foo.js文件带来错误)。 是否有一种方法(如拦截器)在发出错误之前首先检查给定的.js文件是否存在?

struts2让我发疯了

我一直在努力创建一个java项目。 它使用Struts 2标签。 无论何时单击按钮都会有更新 ,它应该更新数据库中的值。 但是我收到了这个错误: 没有为动作com.comviva.im.ui.action.sysadmin.CUGAction和结果输入定义结果

没有为动作和结果输入定义结果

这是我的struts.xml 当我调用loadcity.action我收到以下错误 No result defined for action roseindia.action.user.RegisterUser and result input 这是我的行动方法: public String loadcity() { country=request.getParameter(“country”); cityList= dao.loadcity(country); return ActionSupport.SUCCESS; }

在Struts 2中使用拦截器时出现NullPointerException

这是我的WelcomeAction类 package com.codinghazard.actions; public class WelcomeAction { private String operandA; private String operandB; private Character operator; private int sum; public String execute() { if ((operandA!=””) && (operandB!=””)) { int a=Integer.parseInt(operandA); int b=Integer.parseInt(operandB); switch (operator) { case ‘1’: sum=a+b; break; case ‘2’: sum=ab; break; case ‘3’: sum=a*b; break; case ‘4’: try { sum=a/b; } catch(ArithmeticException ae) […]

用保存的Cookie填写表单

我有一个动作类可以像这样保存我的cookie: public String execute() { // Save to cookie Cookie name = new Cookie(“name”, userInfo.getName() ); name.setMaxAge(60*60*24*365); // Make the cookie last a year! servletResponse.addCookie(name); } 如果我提交表单,我可以在浏览器上看到已创建并保存的cookie。 当用户提交时,他们会被重定向到新页面,该页面包含他们刚刚创建的所有存储信息。 我希望用户能够返回提交页面并查看他们刚刚提交的表单中的所有信息。 是否可以使用Struts2,使用保存的Cookie并获取表单来填写旧数据? 这是我的表格:

在Struts2中使用I18n Interceptor

我想让网站多语言。 我有一个普通的拦截器堆栈,其中包含 用于更改区域设置的常见jsp: fa_IR فارسی en_US English 还有一个简单的LocaleManager动作 public class LocaleManager extends ActionSupport{ private static final Logger log = LoggerFactory.getLogger(LocaleManager.class); public String execute() { log.debug(“Change the local to {}”, getLocale() ); return “homepage”; } } 在上面的场景中,i18n拦截器总是针对所有动作运行,这是没有得到解决方案的。 因为区域设置仅在用户单击locale-manager操作时更改。 我试图删除拦截器堆栈并仅将i18n拦截器添加到LocaleManager,如下所示 @InterceptorRefs({ @InterceptorRef(“i18n”) }) public class LocaleManager extends ActionSupport{ ……… 但它不起作用?! 我错过了什么,还是应该编写自己的拦截器?

Struts2中的日期转换

我想知道如何在Struts2中将String转换为Date 。 我有一个简单的表单,用户以这种格式”yyyy-MM-dd”提供日期。 将Sturts2地图表格提交给bean。 我在日期转换中遇到错误。 我谷歌很多,并声明我们必须使用自定义类型转换器。 我不想为日期转换编写自定义类型转换器。 我认为Struts2中应该有一个简单的数据转换机制,因为数据转换是非常常见的function。 JSP 这是用户输入输入的JSP。 模型类 @Entity @Table(name = “Domain”) public class IdentityProvider implements Serializable { @Id @Basic(optional = false) private String url; private String domainName; private int noOfLicense; private int userActiveDuration; private int activeUsers; private Date licenseExpireDate; private String notes; @GeneratedValue(strategy = GenerationType.IDENTITY) private String domainIdCode; public IdentityProvider(String name, […]