Tag: struts2

我应该在Struts2视图层检索数据库logging吗?

我有一个编辑页面,我想从数据库中检索主题和关卡 ,并显示为用户编辑课程的选项。 当表单被提交时,它会发起一个新的请求,用户input被courseBean用XMLvalidation捕获。 当XMLvalidation失败时,它将使用刚刚捕获用户input到edit.jsp的courseBean进行转发。 所以每次去edit.jsp ,我都会检索数据库logging。 我应该这样做吗? 此外,我试图检索主题点亮和水平亮 ,并将它们作为请求属性存储在第一次显示edit.jsp的操作类中。 但是,当新的请求是从用户input,从数据库中检索到的主题列表和级别列表将不再可用。 代码(edit.jsp): <% Session session2 = HibernateUtil.getSessionFactory().getCurrentSession(); Transaction tx = session2.beginTransaction(); Query q = session2.createQuery("from Subject"); List subjectList = q.list(); List levelList = session2.createQuery("from Level").list(); %> <div class="control-group"> <label class="control-label" for="inputPassword">Subject</label> <div class="controls"> <select name="subject_id"> <% for (Object subjectObject : subjectList) { Subject subject = (Subject) […]

在struts2应用程序中的会话

我创build了一个Web应用程序,在这个Web应用程序中,如果用户会话存在,我需要维护会话 ,然后只有这样才能让用户看到jsp。 我以前曾经用过jsp servlets,但是我是struts2的新手。 这里我在我的操作类中设置用户名 : 修订的代码 private HttpSession session; public void setSession(HttpSession session) { // TODO Auto-generated method stub0 this.session = session; } public HttpSession getSession() { return session; } public String getLoginStatus(){ session = request.getSession(); session.setAttribute("userName", loginBean.getUsername()); return SUCCESS; } 现在,当一个动作被redirect到下一个页面时,它会显示一次会话值。 之后,在每个页面上,我在会话中find空值。 <% String userName = (String)session.getAttribute("userName"); System.out.println(userName); if(userName == null || userName.equals("") […]

如何使用ActionContext中的参数,请求和会话对象?

在此代码中,我使用ActionContext从Request对象获取Session和ServletActionContext。 我觉得这是不好的做法,因为必须使用ActionContext仅用于Request对象。 ActionContext的Request对象是否等同于Servlet中的Request对象? 如果是的话,如何获取使用它的请求参数? Map session = (Map) ActionContext.getContext().getSession(); HttpServletRequest request = ServletActionContext.getRequest(); String operatorId = request.getParameter("operatorId"); session.put("OperatorId", operatorId); // getting hashmap from Bean analysisNames= slsLoginDetailsRemote.getAnalysisNamesIdMap(); // sending map for multiselect session.put("AnalysisNames",analysisNames);

开始过滤struts2exception – 尝试添加JAR,但结果相同

这是我得到的错误: SEVERE: Exception starting filter struts2 java.lang.NoClassDefFoundError: com/opensymphony/xwork2/config/FileManagerProvider at org.apache.struts2.dispatcher.Dispatcher.init_FileManager(Dispatcher.java:336) at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:465) at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:193) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295) at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:424) at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4072) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4726) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:675) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:601) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065) at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) at org.apache.catalina.core.StandardService.start(StandardService.java:525) at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) at […]

Struts 2:没有为命名空间映射的操作

我是Struts 2的新手,我一直在关注Struts 2(Koushik)的video教程。 我已经创build了与本教程中创build的相同的Struts.xml,动作类和JSP。 但它给出了以下例外。 例外: Jan 13, 2014 9:30:48 PM org.apache.struts2.dispatcher.Dispatcher warn WARNING: Could not find action or result: /Struts2Starter/getTutorial.action There is no Action mapped for namespace [/] and action name [getTutorial] associated with context path [/Struts2Starter]. – [unknown location] at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185) at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63) at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:37) at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:552) at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99) […]

Struts2没有为命名空间和与上下文path相关联的操作名称

我是Struts2的初学者,我知道这个问题在这里被问了很多次,但我试图解决这个问题,并在这里读了很multithreading,花了6个小时,仍然无法工作。 真的需要更多的build议… 这是我的包 Struts2Test +Struts2Test/src +tw.com.rrstudio.java.test -TestAction.java +Struts2Test/build +Struts2Test/WebContent +Struts2Test/WebContent/META-INF +Struts2Test/WebContent/WEB-INF/classes +Struts2Test/WebContent/WEB-INF/lib -Struts2Test/WebContent/WEB-INF/spring-context.xml -Struts2Test/WebContent/WEB-INF/spring-mvc.xml -Struts2Test/WebContent/WEB-INF/struts.xml -Struts2Test/WebContent/WEB-INF/struts2-action.xml -Struts2Test/WebContent/WEB-INF/web.xml -Struts2Test/WebContent/error.jsp -Struts2Test/WebContent/index.jsp -Struts2Test/WebContent/TestAction.jsp 我的web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>Struts2Test</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/spring-context.xml /WEB-INF/spring-mvc.xml </param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> <init-param> <param-name>actionPackages</param-name> <param-value>tw.com.rrstudio.java.test</param-value> </init-param> </filter> <jsp-config> <taglib> <taglib-uri>HTTP://java.sun.com/jsp/jstl/core</taglib-uri> […]

如何检测在单个Action类中的多个提交button场景中单击的提交button?

我有一个表单中的一个jsp。 有两个提交button:“search”和“添加新的”button。 <s:form name="searchForm" action="employeeAction" method="post"> <s:textfield name="id" label="Employee ID"/> <s:textfield name="name" label="Employee Name"/> <s:submit value="Search"/> <s:submit value="Add New"/> </s:form> 在struts.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.devMode" value="true" /> <package name="default" namespace="/" extends="struts-default"> <default-action-ref name="index" /> <global-results> <result name="error">/error.jsp</result> </global-results> […]

Struts2:更新地图中“对象列表”的值

有一个对象ObjectA ,它有一个ObjectA的列表。 TreeMap有一个TreeMap 。 这个TreeMap有一个String作为键,另一个对象ObjectC的List作为值。 这个TreeMap和里面的list已经使用s:iterator和s:textfield显示在jsp上,并且显示正确。 即s:textfield中的“值”是正确的。 现在,当文本字段被修改时出现问题。 我们如何在动作类中捕获ObjectC中的修改值? 用这里给出的代码,键(“Key1”)进来的动作,但值为空。 Java代码 public class ObjectA implements Serializable { private Integer attr1; private List<ObjectB> objB; //…getters and setters…. public class ObjectB implements Serializable { private Integer attr11; private TreeMap<String,List<ObjectC>> allPlainFields; // …getters and setters…. public class ObjectC implements Serializable { private Integer attr111; public String attr112; // […]

一次上传多个文件到Struts2 @Action

我需要使用Struts2一次性上传“1000个文件”或“一个包含所有文件的zip文件”。 (通过1000个文件或一个zip文件,我的意思是我需要所有的file upload到系统,如果用户一次select所有的1000个文件或压缩他们,并作为一个单一的file upload,并不重要,所以我期待一个更容易实现和更有效的) 我已阅读以下答案,但没有一个适合这个目的。 Struts2file upload 如何使用HTTP POSTselect并上传多个HTML和PHP文件? 使用下面的代码,当我使用一个简单的List文件; 它显示名单的名字,但是当我使用列表文件它不显示任何东西,我不能上传文件。 upload.jsp <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <form action="upload" enctype="multipart/form-data" method="post"> <input name="files" type="file" multiple/> <button type="submit"/> </form> </body> </html> upload.java @Action public class upload implements Addresses { private List <File> files = new ArrayList […]

问题返回JSON值

我没有得到来自服务器的JSONtypes数据的响应。 我正在使用JSON插件。 jQuery( "#dialog-form" ).dialog({ autoOpen: false, height: 500, width: 750, modal: true, buttons :{ "Search" : function(){ jQuery.ajax({type : 'POST', dataType : 'json', url : '<s:url action="part" method="finder" />', success : handledata}) } } }); var handledata = function(data) { alert(data); } 如果dataType = 'json'我没有得到任何回应,但如果我没有提到任何dataType ,我得到的页面的HTML格式。 public String list(){ JSONObject jo = new JSONObject(); […]