Tag: struts

有没有关于Spring MVC vs Struts 2和其他框架的使用情况的统计数据?

我正在对基于请求的Web应用程序框架进行分析,以确定哪一个最适合特定项目,并且我被要求包含一些可靠的证据表明我们的选择被广泛使用和支持构架。 有没有关于此事的统计数据? 甚至是一个使用每个或哪些的主要公司的名单?

Tomcat在URL中添加,Struts无法获取正确的动作名称?

我有这个项目在Jetty工作正常,最近根据要求,我在Tomcat上测试它,但我发现了一个问题。 我们正在使用Struts2,并且动作映射定义为没有扩展名,例如http://www.somehost.com/projectname/home 当我将所有内容部署到Tomcat并访问上面的url时,我收到此错误: “There is no Action mapped for namespace [/] and action name [home/]” 很明显Tomcat在url上添加了一个额外的/ ,所以struts认为动作名称是home/而不是home 。 如果我将动作配置从home更改为home/ ,它可以正常工作。 但是我不想用额外的/更改每个动作映射,应该有更好的解决方案,任何人都可以帮助我吗? 这是我的动作配置: home.default home 它是在/ package下配置的,当没有任何变化时,我得到了404,如果我在上面更改为: home.default home 然后它工作。

ActionError消息未在UI中显示

该应用程序是在Struts 1.2上完成的。 我有一个登录表单,所有与登录相关的validation都会正确显示。 对于validation,我使用的是Validator框架。 validation成功但用户身份validation失败后,我无法正确显示登录失败消息。 我在Action中设置ActionError消息,如下所示: Login loginDetails = validateUser(loginForm); if(loginDetails == null){ errors.add(ActionErrors.GLOBAL_ERROR, new ActionError(“error.invalidCredentials”)); return mapping.findForward(“failure”); } 下面是ApplicationResources.properties文件中的条目: error.invalidCredentials=User Name and Password does not match. 当loginDetails为null时,错误被正确添加(我通过调试代码validation了这一点)。 但是消息没有显示在UI中。 这是我在UI中添加的内容: 下面是struts-config文件中的条目: 对于身份validation失败,我将路径指定为具有登录屏幕的同一页面,并将redirect为false 。 请让我知道我错过了什么:) 编辑 完整代码: LoginForm loginForm = (LoginForm)form; HttpSession session = request.getSession(); ActionErrors errors=new ActionErrors(); if(loginForm.getAction().equalsIgnoreCase(“Login”)){ // Provide the NUll Check Login loginDetails […]

我的Web应用程序找不到Struts 1 – struts-taglib.jar

我正在使用Struts-1 。 我开发了一个基于struts的Web应用程序。 我在struts-taglib.jar提供的JSP页面中使用struts标记,方法是在JSP文件中插入以下行: 现在,当我在我的本地系统上运行它时,应用程序运行正常但是当我在服务器上部署它时,它显示以下exception: org.apache.jasper.JasperException: The absolute uri: http://struts.apache.org/tags-html cannot be resolved in either web.xml or the jar files deployed with this application 从上面的exception看,应用程序似乎还没有找到struts-taglib.jar文件。 但我已将struts-taglib.jar放在/WEB-INF/lib目录中。 那么问题出在哪里? 注意:您还可以查看Java – 部署Web应用程序时出现的问题以获取更多信息

在struts1中上传文件

我想在struts1应用程序中上传一个文件。 目前实现使用File,如下所示: 但是,如果从远程计算机访问应用程序,则不允许上载文件,因为此窗口小部件仅传递文件的名称而不是整个文件。

在视图中有条件地呈现HTML的干净方式?

在JSP / Struts1设置中有更简洁的方法吗? ……这里有一些HTML …… 编辑:在管理模式中,我希望能够从表单元素访问其他参数,例如从表单元素: input type =“text”value =“测试用户”name =“所有者” 编辑2:实际上,我的问题非常类似于以下问题: 在用户的JSP中有条件地渲染 但我并没有从可能的答案中获得“伪代码”

javax.el.PropertyNotFoundException:在类型java.lang.String上找不到属性’tname’

我之前使用过scriptlet,但现在我切换到了mvc。 我无法在JSP页面上检索值并获得错误: javax.el.PropertyNotFoundException: Property ‘tname’ not found on type java.lang.String 豆的代码: public class regForm extends org.apache.struts.validator.ValidatorForm implements Iprafunctions { private String tname = null; private String tfee = null; public String getTfee() { return tfee; } public void setTfee(String tfee) { this.tfee = tfee; } public String getTname() { return tname; } public void setTname(String […]

Struts 1使用Multipart / Form-Data Enctype进行失败的表单validation后丢失请求参数

我有一个简单的Struts表单。 它有一些文本字段和一个文件字段。 enctype是我表单上的multipart/form-data 。 我在actionform的validation方法中validation。 如果文本字段为空,则返回所需的错误。 与可见字段一起,在处理表单并返回到JSP时,我传递了一些需要作为请求参数的隐藏字段。 JSP需要这些请求params 。 当没有validation错误时,一切都很有效,因为在操作中使用ActionRedirect类返回请求params 。 但如果返回错误,我会丢失请求params 。 (我可以在actionform validate方法或操作中访问它们)。 如何确保请求params在multipart表单中的validation错误时被传回? 有什么办法吗? 下面的动作映射(稍加编辑用于混淆): 我的JSP表单行:

JSP重定向和传递值

我有一个JSP,我在其中重定向到另一个jsp,我在该jsp中没有任何其他数据,我想从这个jsp(index.jsp)传递一个值到重定向的jsp(login.jsp),怎么会我这样做? 这里“logonInput”在struts-config.xml中定义 index.JSP就像 我想显示或传递值sessionExpired到login.jsp

“更改java版本后,路径login.page不以”/“字符”消息exception开头

我有一个Web应用程序,它使用以下内容:Tomcat 5.0 Struts 1.0 Java 1.5 我必须切换到Java 1.6。当我尝试这样做时,我在浏览器中收到以下exception堆栈: javax.servlet.ServletException: Path login.page does not start with a “/” character org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) javax.servlet.http.HttpServlet.service(HttpServlet.java:743) javax.servlet.http.HttpServlet.service(HttpServlet.java:856) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:72) org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:712) org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:682) org.apache.jsp.index_jsp._jspService(index_jsp.java:45) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133) javax.servlet.http.HttpServlet.service(HttpServlet.java:856) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248) javax.servlet.http.HttpServlet.service(HttpServlet.java:856) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77) 根本原因 java.lang.IllegalArgumentException: Path login.page does not start with a “/” character org.apache.struts.chain.commands.servlet.PerformForward.handleAsForward(PerformForward.java:107) org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:96) org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:54) org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304) org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) […]