Tag: struts2

Struts 2 – 在身份validation拦截器之后重定向到正确的操作

我在网上找不到任何东西所以我会问这里。 我正在使用strut2并且我有一个私有的操作包,因为某些操作需要登录才能访问。 所以我在我的安全包中有这个: dologin html/error/hibernate_session.jsp html/error/hibernate_session.jsp 当然还有其他动作定义。 我的问题如下: 假设用户想要访问他的个人区域。 他点击了personalArea链接,他将自动重定向到登录页面(因为personalArea是一个安全的动作)。 我想要的是:登录后用户自动重定向(继续操作)到personalArea而不是主页。 所以,我想要的是:当用户因安全动作登录系统时,登录后执行动作(安全)继续。 我怎样才能做到这一点?

设置bean时的Nullpointerexception

点击这样的超级链接后,我有一个操作URL /SocialStupendous/GetProfile.action?slno=3&slno=3 在我的ActionClass execute方法中,我有以下代码 public String execute() { int urislno=Integer.parseInt(getServletRequest().getParameter(“slno”)); System.out.println(urislno); bean.setUslno(urislno); } 当我执行bean.setuslno(urislno)时,我得到NullPointerException 。 即使urislno打印得恰到好处3 。 ProfileBean类: public class ProfileBean { private int uslno; public int getUslno() { return uslno; } public void setUslno(int uslno) { this.uslno = uslno; } } 为什么会这样?

如何在Struts 2中将动作类的QRCode图像发送和显示到JSP

我正在提交一个带有字符串的JSP表单,并且在提交时我正在调用Struts 2操作。 在该操作中,我使用QRGen库创建QRCode图像,如下所示 File QRImg=QRCode.from(“submitted String”).to(ImageType.PNG).withSize(100, 100).file(); 我的JSP表单: Enter Your Name 我的操作映射struts.xml : displayQR.jsp 我的动作类: import java.io.File; import net.glxn.qrgen.QRCode; import net.glxn.qrgen.image.ImageType; import com.opensymphony.xwork2.ActionSupport; public class CreateQRAction extends ActionSupport{ private File QRImg; Private String userName; public String execute() { QRImg=QRCode.from(userName).to(ImageType.PNG).withSize(100, 100).file(); return SUCCESS; } public String getUserName() { return userName; } public void setUserName(String userName) { […]

使用OGNL 在Struts 2中使用2个操作参数创建动态URL

如果我有一个url: www.myurl.com/books并希望能够通过传递Sartre和1942作为参数来创建新的过滤作者和年份: www.myurl.com/books/Sartre/1942到动作类,它将使书页显示适当的结果。 如何在Struts2中执行此操作? 我有后端逻辑,所以如果: 我可以重用与永久链接www.myurl.com/books使用的相同的jsp和动作类。 即使在get请求加载了页面之后, www.myurl.com/books/Sartre/1942在地址栏中显示动态呈现的URL www.myurl.com/books/Sartre/1942 (即www.myurl.com/books )。

Struts2:按钮中的方法属性不起作用

我在jsp中有一个表单。 有两个提交按钮:“搜索”和“添加新”按钮。 我已经为每个按钮设置了自己的方法属性。 在struts.xml中 /error.jsp /example/search.jsp /example/add.jsp 在EmployeeAction类中 public class EmployeeAction extends ActionSupport { private static final Logger logger = Logger.getLogger(EmployeeAction.class); @Override public String execute() throws Exception { logger.info(“Calling execute!”); return SUCCESS; } public String doSearch() throws Exception { logger.info(“Calling doSearch!”); return “search”; } public String doAddNew() throws Exception { logger.info(“Calling doAddNew!”); return “add”; } […]

双击提交按钮时如何避免两次插入两个相同的记录?

我有一个弹出窗口,其中有两个onclick方法,如“Submit”和“Discard”。 当我单击提交两次时,它会插入两条记录,这意味着重复记录。 我怎么能避免这个?

除了一个servlet之外,还是将所有内容过滤到Struts2?

我有一个Struts2(2.1.8.1)Web应用程序。 我的web.xml看起来像, struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* 这被配置为将所有请求映射到strutsfilter。 我想在我的Web应用程序中添加一个servlet。 我想将具有特定url模式的所有请求发送到该servlet。 我希望其他所有内容都可以转到我的struts servlet。 我知道我只能将“* .action”映射到struts servlet,但我讨厌.action位于我所有URL的末尾。

在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, […]

用户会话在tomcat上混淆了

我们在IIS7.5之后使用Tomcat 6.29,使用spring,hibernate和struts2框架。 我们现在开始注意到服务器会话正在混淆,特别是在Ajax请求中。 关于这个问题的更多细节 用户1请求page1,用户2请求page2。 但是user1获得了page2,而user2获得了server1。 会话ID也在变化,但在刷新页面时,会提供正确的页面。 当用户数量很多时,问题似乎更频繁发生。 任何指向问题根源的指针都会有所帮助,代码运行正常,用户数量较少,并且没有报告此类实例。 编辑 web.xml中 bm contextConfigLocation classpath:spring/*Context.xml encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter encodingFilter /* struts2 /* org.springframework.web.context.ContextLoaderListener org.apache.struts2.tiles.StrutsTilesListener 在struts.xml dojo\..*,^struts\..* 其他信息 1)用户通过提交表单登录,登录时我们执行以下操作, public class xxxAction extends ActionSupport implements SessionAware { public String execute() { session.clear(); if (session instanceof org.apache.struts2.dispatcher.SessionMap) { try { ((org.apache.struts2.dispatcher.SessionMap) session).invalidate(); } […]