Apache Struts 2是一个基于servlet的可扩展框架,在其架构中实现了模型 - 视图 - 控制器(MVC)模式,用于创建企业级Java Web应用程序。
我正在使用 Struts 2,并且按照我找到的教程创建了一个简单的应用程序。 我创建了一个 -validation.xml 文件,我想知道如何显示验证消息
我正在使用 Struts 2,并且按照我找到的教程创建了一个简单的应用程序。 我创建了一个 -validation.xml 文件,我想知道如何显示验证消息
通过调用 Struts 2 中的 Java 方法在 JSP 中填充下拉列表
我想调用一个Java方法,该方法返回ArrayList,并且我想将该数组列表添加到JSP中的下拉列表中。当用户从下拉列表中选择一个值时,该值将被存储...
通过调用 Struts 2 中的 Java 方法来填充 JSP 中的下拉列表
我想调用一个Java方法,该方法返回ArrayList,并且我想将该数组列表添加到JSP中的下拉列表中。当用户从下拉列表中选择一个值时,该值将被存储...
java.lang.NoClassDefFoundError:ognl.OgnlRuntime
我最初想将一个JAVA EE项目迁移到Maven中。 但是,我遇到了调度错误。 我在文件中得到了这个堆栈跟踪: C:\Program Files using(x86)\IBM\WebSphere\AppServer\profiles\
名为struts的Bean类型类com.opensymphony.xwork2.ObjectFactory已经被bean加载了
我有一个使用 Eclipse、Struts 2 的 Web 应用程序,并在 Tomcat 7 服务器上运行。 我已经不再使用 http://javabrains.koushik.org 教程了。 我已经准备好了所有基本的 Struts 组件...
我刚刚将 Struts 2 版本升级到 2.5.2,并开始出现错误。我的应用程序甚至无法启动。我对 pom.xml 和 web.xml 进行了更改。我不确定我是否错过了任何课程...
我正在做一个Web应用程序,我想在其中验证JSP表单上的两个字段。在注册表中我有很多字段。我想验证密码并确认密码字段。
我知道 ValueStack 是在 Struts 2 中引入的,与 Struts 1 模型相比还有一个变化,现在为每个请求实例化一个新的 ActionObject。所以我们可以定义实例变量...
如何在Struts 2中使用Open Session in View模式?
我正在开发一个项目,该项目使用 Hibernate 进行持久化,使用 Struts 2 进行视图模式。 我的配置文件是: 网络.xml: 我正在开发一个项目,该项目使用 Hibernate 进行持久化,使用 Struts 2 进行视图模式。 我的配置文件是: web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app> //...... //..... <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- The defintion of the root Spring Container shared by all Servlets and Filters --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <!-- Creates the spring Container shared by all servlet and filters --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <filter> <!-- Get spring to keep the session open for the whole request, so hibernate's lazy loads work --> <filter-name>openSessionInViewFilter</filter-name> <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> </filter> <filter-mapping> <filter-name>openSessionInViewFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app> applicationContext.xml: <?xml version="1.0" encoding="UTF-8"?> <beans > //....... <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"></property> <property name="url" value="jdbc:mysql://localhost:3306/DB_TEST"></property> <property name="username" value="root"></property> <property name="password" value=""></property> </bean> <bean id="persistenceUnitManager" class="org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager"> <property name="persistenceXmlLocations"> <list> <value>classpath*:META-INF/persistence.xml</value> </list> </property> <property name="defaultDataSource" ref="dataSource"></property> </bean> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="persistenceUnitManager" ref="persistenceUnitManager"></property> </bean> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory"></property> </bean> <tx:annotation-driven transaction-manager="transactionManager" /> <context:annotation-config></context:annotation-config> </beans> 我的问题是,我无法在 Struts 2 的视图模式中保持 Hibernate 会话打开,这意味着当我尝试加载一些尚未使用 Hibernate 初始化的数据(例如集合)时,我得到 org.hibernate.LazyInitializationException ,所以在做了一些研究之后,我发现我必须在 web.xml 中添加这个范围,以保持会话在视图模式中打开。 范围: <filter> <!-- Get spring to keep the session open for the whole request, so Hibernate's lazy loads work --> <filter-name>openSessionInViewFilter</filter-name> <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> </filter> <filter-mapping> <filter-name>openSessionInViewFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 但即使如此,我仍然遇到同样的问题,所以有人可以告诉我我做错了什么吗? 过滤器链的顺序很重要。在您的情况下,会话应该在 struts 执行操作之前打开,并在之后关闭。最后一件事是由 Spring 通过管理 Hibernate 会话来完成的。因此,重新排序过滤器并允许 struts2 调度程序接受来自第一个过滤器的请求。 <filter> <!-- Get spring to keep the session open for the whole request, so hibernate's lazy loads work --> <filter-name>openSessionInViewFilter</filter-name> <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> </filter> <filter-mapping> <filter-name>openSessionInViewFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping> 我前段时间遇到过类似的问题,为了解决这个问题,我使用了 hibernate.enable_lazy_load_no_trans 属性而不是 OpenSessionInView 模式。有关 LazyInitializationException 的更多信息,您可以在 here 或 here 找到
我是Struts 2的初学者,我正在遵循tutorialspoint提供的教程。目前我正在测试提供的代码:Struts 2 - Redirect Action。 然而,当我点击“说
我使用了 Struts 2 框架,并且创建了一个具有登录页面的 Web 应用程序。我有三个不同的 Action 类,名为 Action1、Action2、Action3,以及 JSP 页面的不同视图...
如何使用 Hibernate 和 Struts 2 删除任意列值的记录
我正在使用Struts 2 + Hibernate,并且我一直在学习示例。在此处的示例之一中: struts2+hibernate示例 我可以看到并做的是,通过用户的 id 删除用户,正如我们所看到的......
我在 Java 的 Web 项目的根目录中放置了一个属性文件。我正在使用 Struts 2。 我无法读取代码中的属性文件。我应该在哪里保存我的属性文件? 我已经检查过...
我正在Struts 2中做一个项目,我需要在URL中设置一个参数,就像下面链接中的用户参数一样。 我希望当我单击表单提交按钮时传递此参数,而不是任何...
如何将请求从 servlet 转发到 Struts 2 中的操作?
我想使用这样的 RequestDispacher 将请求从 servlet 转发到操作 RequestDispatcher 调度程序=request.getRequestDispatcher("hello.action"); 调度程序.forward(r...
我计划使用 Struts 1 代码库迁移到 Struts 2。我没有得到任何好的来源来继续进行此迁移。您能帮忙解决这个问题吗?
我使用这个代码。设置passwordChanged后,当我单击(第一个请求)时,它会使authenticationServices.logout(getHttpServletRequest())中的会话无效,并且在下一个请求时它会...
我想根据 Struts 2 中的值排序显示键/值 bean。 我想根据 Struts 2 中的值排序显示键/值 bean。 <s:select list="preferredBranchList" listKey="displayKey" listValue="displayValue" name="preferredBranch" cssClass="selectpicker show-tick" required="true" /> 它是根据 listKey 对值进行排序。请建议我根据 listValue 对值进行排序。 您可以尝试对 Action 类本身中的值进行排序,因此当呈现 select 时,列表将显示为已排序 List是一个有序集合。如果它包含按键属性排序的元素,则其他值属性保持未排序,除非它是相同的属性。要使其在另一个属性上排序,您可以使用比较器对列表进行排序。 Collections.sort(myList, myComparator); 或者您可以使用 <s:sort> 标签,如 this 示例所示。并且您只需在操作类中提供比较器即可。