Tag: struts2

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 然后它工作。

Struts2 JUnit ActionContext对象

问题:测试期间Struts ActionContext为null 使用Struts2 JUnit插件我有以下测试: public class MainActionIT extends StrutsJUnit4TestCase { @Test public void testAction() { Map application = new HashMap(); application.put(“options”,”home”); ActionContext.getContext().put(“application”,application); ActionProxy proxy = getActionProxy(“/home”); String result = proxy.execute(); } } 两个相关的类如下: public class MainAction extends BaseAction { @Action(value = “/home”, results = {@Result(name = “success”, location = “home.jsp”)} public String getHome() { Map […]

在Struts 2中,值没有从jsp绑定到action类

我正在研究Struts2 Web应用程序,目前我正面临着表单绑定的问题。 从jsp到action类的绑定不起作用。 方案是我有一个从上一个操作设置的列表。 在当前的jsp中,我迭代列表并在jsp中打印表中的值。 由于要求,我应该使字段可编辑,以便用户可以编辑显示的值并将更新的值提交给下一个操作。 问题是我从jsp编辑的值没有绑定到action类中的列表。 我尝试了多种方法,但直到现在还没有运气。 以下是我尝试过的方式。 我试过值的第一种方式没有受到约束: <tr onclick="SelIndex('’);”> <input type="text" size = "8" value="”/> <input type="text" size = "8" class="dateFilter" value="”/> <input type="text" size = "8" value="”/> <input type="text" size = "10" value="”/> </s:iterator 第二种方式我尝试了不受约束的价值观: <tr onclick="SelIndex('’);”> <input type="text" name="list1[%{#rowStatus.index}].pln_n_n" value="”/> <input type="text" size = "8" name="list1[%{#rowStatus.index}].trd_d" class="dateFilter" value="”/> <input type="text" […]

命名空间/动作名称hello没有映射的Action

package com.tutorialspoint.struts2; public class HelloWorldAction{ private String name; public String execute() throws Exception { return “success”; } public String getName() { return name; } public void setName(String name) { this.name = name; } } 的index.jsp Hello World Hello World From Struts2 Please enter your name 在struts.xml /HelloWorld.jsp web.xml中 Struts 2 index.jsp struts2 org.apache.struts2.dispatcher.FilterDispatcher struts2 /* […]

当用户单击Struts2 jquery网格的删除按钮时,卡在获取特定行的id

我正在使用Jquery Grid在struts 2中开发一个小应用程序来显示数据结果。 当我单击编辑按钮时,特定的行ID即将到来。 但是,当我单击删除按钮删除该行时,其ID不会出现。 使用所选行(Struts2 Jquery Grid)执行删除操作时如何获取行的id? Plz帮我这个。 myJspFile.jsp Hello World @import url(/css/style1.css); MyActionClass.java /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package v.esoft.actions.subjectdetails; import com.opensymphony.xwork2.ActionSupport; import java.text.SimpleDateFormat; import com.opensymphony.xwork2.ModelDriven; import v.esoft.dao.SubjectdetailsDAO.SubjectdetailsDAO; import v.esoft.pojos.Subjectdetails; public class SubjectdetailsEditAction extends ActionSupport implements ModelDriven { private […]

Struts2将列表数据从JSP发送到Action类:替代方式

我正在向同事解释如何使用索引从JSP页面获取列表数据以返回到操作类,如此处和此处所述 。 他不太理解并且自己摸索了一下,直到突然他没有使用指数让它成功! 在他的JSP页面中,他有: 在他的动作课上,他有“适当的”制定者: public List getContactNameList() public void setContactNameList(List list) 我很困惑为什么这项工作。 我认为这是有效的,因为他发送非bean数据(在这种情况下是字符串),并且有一个智能构建到Struts2 / OGNL中,以便将值附加到列表而不是覆盖它们。 任何人都可以详细解释这个“无指数”案件背后的问题吗? 如何使用上面的代码段实例化和填充字符串列表?

获取JSON弹出窗口以保存或打开对话框而不是实际内容?

我的问题 :json字符串作为文件返回。 当我调用getJSONResult操作时,它会给我一个带有json字符串的文件,我可以打开或下载它。 我认为这是一个配置问题,但我找不到它。 如果有人能帮助我,我会很高兴,谢谢你们! 我有一个开头表单,其中包含一个使用action和execute方法获取数据的提交。 然后,我可以让jquery工作的唯一方法是放一个动作并执行只返回’success’的方法,然后我用第三个动作进入我的jquery网格。 在struts.xml /live/YYY.jsp

为什么这个未处理的org.apache.tiles.impl.CannotRenderException?

实际上我正在努力在在线考试项目上实现Struts Spring和Hibernate Integration。 但是当我在JSP页面中提交值时,它会抛出以下错误: Struts问题报告 Struts has detected an unhandled exception: Messages: /templates/MainLayout.jsp (line: 7, column: 14) The TLD for the class org.apache.tiles.jsp.taglib.InsertAttributeTag specifies an invalid body-content (JSP) for a SimpleTag. ServletException including path ‘/templates/MainLayout.jsp’. ServletException including path ‘/templates/MainLayout.jsp’. File: org/apache/jasper/compiler/DefaultErrorHandler.java Line number: 42 ——————————————————————————– Stacktraces org.apache.tiles.impl.CannotRenderException: ServletException including path ‘/templates/MainLayout.jsp’. org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:692) org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:644) org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:627) org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:321) […]

如何在Struts 2上使用Spring Security 3?

我已经阅读了很多关于在Struts 2上使用Spring Security 3的教程。但是我无法使它工作:/。 关于在Struts 2上实现这个框架,我找不到“Dummy step by step guide”。 这是我有的: web.xml中: struts2 org.apache.struts2.dispatcher.FilterDispatcher struts2 /* org.springframework.web.context.ContextLoaderListener cv 30 example/HelloWorld.jsp security.xml文件 还有我的HelloWorld.jsp Welcome! This session will be visible to an admin only. You are an Administrator. This session will be visible to an Customer only. You are an Customer. ${HelloMessage} <a href="https://stackoverflow.com/questions/12607719/how-use-spring-security-3-on-struts-2/”>Logout 我想测试权限如何使用标记“isAnonymous”显示该文本块,但我无法使其工作 🙁

使用Struts2在JSP中访问Action类

有没有人知道如何在使用Struts2时轻松访问JSP中的Action类? 虽然我知道通常可以使用Struts标签和OGNL,但实际上我发现它们都令人困惑(显然是由于无知)并且坦率地发现在JSP中维护Java更容易(更不用说它更容易解释为新的众所周知的程序员Java)。 我已经搜索了多年的解决方案,我找到的最好的解决方案是从类中调用静态方法,如下所示: public static BaseAction getCurrentAction(HttpServletRequest request) { OgnlValueStack ognlStack = (OgnlValueStack)request.getAttribute(org.apache.struts2.ServletActionContext.STRUTS_VALUESTACK_KEY); return (BaseAction)ognlStack.getRoot().get(0); } …将在您自己的Action类扩展的BaseAction类中,以便在您的JSP中可以说: 然而,这一切似乎过于复杂,它假设OgnlValueStack的精确顺序 – 必须有更好的方法,非? 非常感谢任何建议!