Tag: struts2

最佳实践? 我在哪里为Struts2中的自己的应用程序配置参数?

在Java servlet中,有 。 在桌面应用程序中,我们通常定义自己的配置文件。 我应该在哪里为Struts2应用程序添加配置参数? 例如,我的应用程序需要为用户输入设置时间限制,或者保存和读取存储在某处的文件,或者用户输入错误密码的最长时间等。我希望这些内容可配置。 人们通常在Struts2应用程序中执行此操作的方式是什么? 任何最佳做法?

Struts – 所有.tld文件所在的jar文件

我正在开发一个基于Struts的Web应用程序。 我是Struts新手。 我想在我的jsp页面中使用struts-html.tld taglib提供的struts-html.tld taglib 。 当我在网上搜索时,我开始知道在Struts 1.2.9之前,我们需要手动找到.tld文件。 但现在这些.tld文件打包在.jar文件中,我们需要将这些jar文件用作我们项目中的任何其他jar文件。 Q1。 所以我的问题是这些.tld文件所在的jar文件。 我从Javaranch回答中了解到,这些.tld文件被打包到struts-taglib.jar文件中。 我下载了完整的struts库,但没有找到该jar文件。

使用inheritance的Struts2 Convention插件结果

有没有办法让struts2约定插件使用超类的结果? 我正在尝试创建一个通用的CRUD,如果子类中没有实现,则使用一般结果。 这可能吗?

eclipse没有validationstruts.xml文件

我在我的新电脑中安装了eclipse并导入我的旧项目struts2,在导入项目后我在struts.xml文件中收到警告,即“文件无法validation,因为存在连接问题。”。 我多次更换了我的jar文件和doctype,但它仍然没有用。 我还发现eclipse并没有向我显示任何错误,如果我在该文件中做错了,即使eclipse清理我的项目需要花费大量时间来清理struts.xml文件 /success.jsp /error.jsp 请帮助我,因为我遇到了很多困难…… ???

JSTL fmt:消息和资源包

我想根据语言环境从资源包中设置我的表的“dir”属性。 这是片段: <table align=center class="" dir=> 当页面呈现时我得到了这个: 我有两个英语和阿拉伯语资源包。 registration.direction = ltr – >英文 registration.direction = rtl – >阿拉伯语 请告诉我我做错了什么? dir应该具有“ltr”或“rtl”,具体取决于区域设置。 谢谢 BR SC

Struts 2 S2-016 Vulenerability Mitigation升级

最近struts修补了一个允许攻击者执行远程代码的漏洞。 显然没有修补这就像给黑帽子带来一个红地毯欢迎与潮流: – / http://struts.apache.org/release/2.3.x/docs/s2-016.html 基本上它允许执行攻击命令,如下所示: 合法行为: http://host/struts2-showcase/employee/save.action?redirect:%25{3*4}被利用的行动: http://host/struts2-showcase/employee/save.action?redirect:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{‘command’,’goes’,’here’})).start()} 虽然我知道升级应该尽快完成,但是由于我们的代码库使用了旧的struts版本和插件,因此尽快进行升级。 这将需要一些重构来升级struts 2库,然后那些需要进行测试等。 我的问题是,是否有人有任何想法阻止此漏洞被执行? 这将只有我们能够升级。 我想知道是否可以在对OGNL进行评估之前编写一个拦截器来清理URL,如果是这样,它是否可以缓解这个问题? 我的其他想法是以某种方式使用Java安全管理器来停止任意进程调用,这可能吗? 它会临时修补这个洞吗? 正在使用的服务器是jBoss,如果有人认为这是相关的。

如何确定请求是Ajax还是Normal?

我想以不同的方式处理AJAX请求与正常请求的错误。 如何在Struts2操作中识别请求是否为AJAX?

为什么我在jsp文件上收到NullPointerException?

一旦我点击我的jsp页面上的锚标签,它完全有效,但是在控制台中会抛出以下exception,根据这个答案 ,我从我的依赖项文件夹中删除了jap-api*.jar文件,但应用程序仍然抛出例外。 WARNING: Servlet.service() for servlet jsp threw exception java.lang.NullPointerException at org.apache.jsp.products.ProductShow_jsp._jspx_meth_c_if_1(ProductShow_jsp.java:211) at org.apache.jsp.products.ProductShow_jsp._jspService(ProductShow_jsp.java:119) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:473) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:377) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682) at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:875) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:739) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:695) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:626) at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:977) at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:701) at org.apache.tiles.request.jsp.JspRequest.doInclude(JspRequest.java:123) at org.apache.tiles.request.AbstractViewRequest.dispatch(AbstractViewRequest.java:47) at org.apache.tiles.request.render.DispatchRenderer.render(DispatchRenderer.java:45) at org.apache.tiles.request.render.ChainedDelegateRenderer.render(ChainedDelegateRenderer.java:68) at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:259) at org.apache.tiles.TilesContainerWrapper.render(TilesContainerWrapper.java:108) at org.apache.tiles.template.InsertAttributeModel.renderAttribute(InsertAttributeModel.java:188) at […]

使用ajax调用Struts 2动作,它直接将字符串写入响应并不返回字符串

在struts2应用程序中,我调用Ajax请求并直接将字符串写入响应,如下所示,并在操作的execute方法中返回null 。 ServeletActionContext.getResponse().getOutputStream().print(“sample string”); return null; 在struts.xml我有以下声明,(下面是应用程序如何声明结果类型的操作正常工作。在我的情况下,因为我不需要结果来调用JSP或其他操作,我没有添加结果标签) 我在application-context.xml映射了section类 然后我有如下的ajax调用, $.ajax({url:”/root/me/controller.action”,success:function(result){ alert(result); }}); 但问题出在上面而不是警告我为响应编写的”sample string” ,它会警告上面的Ajax调用所在的整个JSP页面。 我在这里想念的是什么?

保留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 […]