Apache Struts 2是一个基于servlet的可扩展框架,在其架构中实现了模型 - 视图 - 控制器(MVC)模式,用于创建企业级Java Web应用程序。
我在 JSP 页面的 标签内有一个 标签。无论我尝试什么,即使字段的值
addActionMessage("不存在!"); 如何避免在显示所有页面的 JSP 页面中出现此消息。 联合应用程序: addActionMessage(" does not exist!"); 如何避免在显示所有页面的 JSP 页面中出现此消息。 JSP: <s:actionerror cssClass="MessageBox" theme="simple" /> </s:if> <s:if test="hasActionMessages()"> <s:actionmessage cssClass="MessageBox" theme="simple" /> </s:if> 我想你已经添加了 addActionMessage(" does not exist!"); 在所有行动方法中 您应该在操作类的每个方法中使用不同的消息来获取不同的消息。 ActionMessage 也是Collection<String> getActionMessage() {... }。所以你可以使用迭代器方法。试试这个, <s:iterator value="actionMessage" status="s"> <s:set var="S1" value="%{actionMessage.get(#s.index)}"/> <s:if test="#S1.contains(' does not exist!')"> True </s:if><s:else> False </s:else> </s:iterator> 如果操作有操作消息,则会显示它们。您需要更改逻辑来决定是否应显示操作消息。在操作类中创建一个返回 boolean 的方法,并在需要测试时调用它。例如 private boolean showActionMessages; public boolean isShowActionMessages(){ return hasActionMessages() && showActionMessages; } 然后更改 if 标签 <s:if test="showActionMessages"> <s:actionmessage cssClass="MessageBox" theme="simple" /> </s:if>
尝试使用 Struts 2 中 <s:iterator> 标签内的 `onchange` 事件设置属性值时出现的问题
我使用的是Struts 2.1.6。我在尝试使用 标记内的 onchange 事件设置属性值时遇到问题。 我使用的是Struts 2.1.6。我在尝试使用 onchange 标签内的 <s:iterator> 事件设置属性值时遇到问题。 <s:iterator value="myList" status="rowStatus"> <tr> <td><s:textfield name="myList[%{#rowStatus.index}].abc" value="%{model[#rowStatus.index].abc}" onchange="myList[%{#rowStatus.index}].changeFlag = "true"/></td> <td><s:textfield name="myList[%{#rowStatus.index}].changeFlag" value="%{model[#rowStatus.index].changeFlag}" /></td> </tr> </s:iterator> 列表myList有多个对象,如果任何特定行的abc属性的值发生更改,那么我尝试将changeFlag的值设置为true。然而它不起作用。 如何做? onchange标签中的s:textfield属性是 在渲染的 HTML 元素上设置 HTML onchange 属性 渲染的 html 元素是 <input type="text">。对于此元素, onchange 属性定义了一个 JavaScript 函数来处理事件。所以你可以创建一个函数doChange()。但在此之前你需要添加 id 属性 HTML id 属性 这允许通过 id 来定位文档中的元素。 <s:iterator value="myList" status="rowStatus"> <tr> <td><s:textfield id="myList[%{#rowStatus.index}].abc" name="myList[%{#rowStatus.index}].abc" value="%{model[#rowStatus.index].abc}" onchange="doChange('myList[%{#rowStatus.index}].changeFlag')"/></td> <td><s:textfield id="myList[%{#rowStatus.index}].changeFlag" name="myList[%{#rowStatus.index}].changeFlag" value="%{model[#rowStatus.index].changeFlag}" /></td> </tr> </s:iterator> <script> function doChange(dest) { document.getElementById(dest).value = 'true'; } </script> P.S.:您使用的 Struts 版本太旧(2.1.6)。您应该知道如何获取更新版本。请参阅如何了解 Struts 2 的版本。
是否可以将 Angular 4 与 Struts 2 和 Hibernate 集成? [重复]
我是 Angular 4 的新手。是否可以将 Angular 4 与 Struts 2 和 Hibernate 集成? 如果是,那么在哪里保存 web.xml、JSP 文件、Hibernate 等。在哪里保存 Struts jar? 任何示例代码或
如何在 Struts 2 中从其他操作全局处理单个操作的异常?
我想全局处理名为 ErrorAction 的单个操作的异常,例如 Index 操作。 这是我的 struts.xml 文件: 我想全局处理名为 ErrorAction 的单个操作的异常,例如来自 Index 操作。 这是我的struts.xml文件: <global-results> <result name="myErrorHandler" type="redirectAction"> <param name="actionName">myError</param> </result> <result name="login" type="tiles"> login </result> </global-results> <global-exception-mappings> <exception-mapping exception="java.lang.Exception" result="myErrorHandler" /> </global-exception-mappings> <action name="myError" class="com.actions.ErrorAction"> <interceptor-ref name="exception" /> <interceptor-ref name="defaultStack" /> <result name="error" type="tiles">error</result> </action> .... <action name="Index" class="com.actions.Index"> <interceptor-ref name="defaultStack" /> <result name="success" type="tiles">home</result> </action> exception拦截器已包含在defaultStack中。使用自定义堆栈,以便记录应用程序未捕获的任何异常,然后由全局异常映射处理 <interceptors> <interceptor-stack name="appDefaultStack"> <interceptor-ref name="defaultStack"> <param name="exception.logEnabled">true</param> <param name="exception.logLevel">ERROR</param> </interceptor-ref> </interceptor-stack> </interceptors> <default-interceptor-ref name="appDefaultStack" />
使用的技术:Struts 2、JPA (EclipseLink)、Apache Derby Database。 我的项目是图像托管,并且我将 UserEntity (父级)配置为包含对 ImageEntity 的引用。 我有一个会议
使用的技术:Struts2、JPA (EclipseLink)、Apache Derby Database。 我的项目是图像托管,并且我将 UserEntity (父级)配置为包含对 ImageEntity 的引用。 我有一个会议
org.apache.struts2.json.annotations.JSON 未显示正确的格式
我的Web应用程序使用struts2-json-plugin-2.2.1。 我有一个操作公开从数据库加载的对象(通过 Hibernate)。 该对象包含一个 java.util.Date 字段,其注释如下: @J...
我是 Struts 2 的新手,但到目前为止,我在使用 API 方面取得了不错的进展。 然而,我陷入了一些我需要摆脱的困境。我正在使用带有 Spring 集成的 Struts 2。我正在写...
IntelliJ IDEA 无法识别 <%@taglib uri="/struts-tags" prefix="s"%>' 指令
我知道这个问题是重复的;然而,由于接受的答案没有解决我的问题,我冒昧地重新提出这个问题。 在每个具有上述指令的 JSP 上...
在这里,我正在创建一个 JSP,从数据库中获取 actionId。在这里,我想添加 条件标签并检查特定值。 在这里,我正在创建一个 JSP,从数据库中获取 actionId。在这里,我想添加 <s:if> 条件标签并检查特定值。 <td style="font-size: 13px;font-weight: bold;" align="center" width="50px"> <s:property value="actionId"/> <s:if test="#request.dtls=='1'">testing</s:if> <s:iterator value="#request.dtls" status="dtl"> <div class="form-input"> <s:property value="actionId"/> </div> </s:iterator> </td> 这似乎不起作用。知道我哪里出错了吗? #request.dtls应该是一个集合。 <s:if test="#request.dtls.contains('1')">testing</s:if> <s:iterator value="#request.dtls" status="dtl"> <s:if test= "top == '1'"> <div class="form-input"> <s:property value="actionId"/> </div> </s:if> </s:iterator>
在 Struts 2 中获取 NullPointerException
我在 Struts 2 中遇到 NullPointerException。我只制作了 Hello World 应用程序的简单示例。当我单击它时,它向我显示此错误。 这是我的代码: 网络.xml: 我在 Struts 2 中得到 NullPointerException。我只制作了 Hello World 应用程序的简单示例。当我单击它时,它向我显示此错误。 这是我的代码: web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:javaee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" id="WebApp_9" version="2.4"> <display-name>web</display-name> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app> struts.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.devMode" value="true" /> <package name="basicstruts2" extends="struts-default"> <action name="index"> <result>/index.jsp</result> </action> <action name="hello" class="org.apache.struts.helloworld.action.HelloWorldAction" method="execute"> <result name="success">/HelloWorld.jsp</result> </action> 动作类: package org.apache.struts.helloworld; import com.opensymphony.xwork2.ActionSupport; public class HelloWorldAction extends ActionSupport { private static final long serialVersionUID = 1L; private MessageStore messageStore; public String execute() throws Exception { messageStore = new MessageStore() ; return SUCCESS; } public MessageStore getMessageStore() { return messageStore; } public void setMessageStore(MessageStore messageStore) { this.messageStore = messageStore; } } index.jsp: <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Basic Struts 2 Application - Welcome</title> </head> <body> <h1>Welcome To Struts 2!</h1> <p><a href="<s:url action='hello'/>">Hello World</a></p> </body> 它显示index.jsp当我单击“你好”时它显示错误。 HelloWorld.jsp: <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Hello World!</title> </head> <body> <h2><s:property value="messageStore.message" /></h2> </body> </html> 动作配置中的拼写错误 <action name="hello" class="org.apache.struts.helloworld.action.HelloWorldAction" method="execute"> 应替换为 <action name="hello" class="org.apache.struts.helloworld.HelloWorldAction" method="execute"> 因为 struts 无法从不存在的包中构建操作。
<s:div> Struts 2 中的 JSP 上有更多文本字段
我想创建带有更多文本字段的: 我想创建带有更多文本字段的<s:div>: <s:div cssClass="div_position"> <s:textfield cssClass="position" id="position1" value="" name="position1" ></s:textfield> <s:textfield cssClass="position" id="position2" value="" name="position2" ></s:textfield> <s:textfield cssClass="position" id="position3" value="" name="position3" ></s:textfield> <s:textfield cssClass="position" id="position4" value="" name="position4" ></s:textfield> <s:textfield cssClass="position" id="position5" value="" name="position5" ></s:textfield> </s:div> 班级div_position如下: .div_position{ height:50px; overflow-y:Scroll; } 它不起作用,我只显示文本字段,但在<s:div>之外。 这对我有用 <s:div cssClass="div_position" cssStyle="height:50px;overflow-y:scroll;"> <s:textfield cssClass="position" id="position1" value="" name="position1" ></s:textfield> <s:textfield cssClass="position" id="position2" value="" name="position2" ></s:textfield><br> <s:textfield cssClass="position" id="position3" value="" name="position3" ></s:textfield> <s:textfield cssClass="position" id="position4" value="" name="position4" ></s:textfield><br> <s:textfield cssClass="position" id="position5" value="" name="position5" ></s:textfield> </s:div> 因为我已经配置了simple主题。像我一样把这个放进去struts.xml <constant name="struts.ui.theme" value="simple"/>
我想用更多文本文件创建: 我想创建带有更多文本字段的<div>: <s:div cssClass="div_position"> <s:textfield cssClass="position" id="position1" value="" name="position1" ></s:textfield> <s:textfield cssClass="position" id="position2" value="" name="position2" ></s:textfield> <s:textfield cssClass="position" id="position3" value="" name="position3" ></s:textfield> <s:textfield cssClass="position" id="position4" value="" name="position4" ></s:textfield> <s:textfield cssClass="position" id="position5" value="" name="position5" ></s:textfield> </s:div> 班级div_position如下: .div_position{ height:50px; overflow-y:Scroll; } 它不起作用,我只显示文本字段,但在<div>之外。 这对我有用 <s:div cssClass="div_position" cssStyle="height:50px;overflow-y:scroll;"> <s:textfield cssClass="position" id="position1" value="" name="position1" ></s:textfield> <s:textfield cssClass="position" id="position2" value="" name="position2" ></s:textfield><br> <s:textfield cssClass="position" id="position3" value="" name="position3" ></s:textfield> <s:textfield cssClass="position" id="position4" value="" name="position4" ></s:textfield><br> <s:textfield cssClass="position" id="position5" value="" name="position5" ></s:textfield> </s:div> 因为我已经配置了simple主题。像我一样把这个放进去struts.xml <constant name="struts.ui.theme" value="simple"/>
<div> Struts2 中带有更多文本字段 ion JSP
我想用更多文本文件创建: 我想创建带有更多文本字段的<div>: <s:div cssClass="div_position"> <s:textfield cssClass="position" id="position1" value="" name="position1" ></s:textfield> <s:textfield cssClass="position" id="position2" value="" name="position2" ></s:textfield> <s:textfield cssClass="position" id="position3" value="" name="position3" ></s:textfield> <s:textfield cssClass="position" id="position4" value="" name="position4" ></s:textfield> <s:textfield cssClass="position" id="position5" value="" name="position5" ></s:textfield> </s:div> 班级div_position如下: .div_position{ height:50px; overflow-y:Scroll; } 它不起作用,我只显示文本字段,但在<div>之外。 这对我有用 <s:div cssClass="div_position" cssStyle="height:50px;overflow-y:scroll;"> <s:textfield cssClass="position" id="position1" value="" name="position1" ></s:textfield> <s:textfield cssClass="position" id="position2" value="" name="position2" ></s:textfield><br> <s:textfield cssClass="position" id="position3" value="" name="position3" ></s:textfield> <s:textfield cssClass="position" id="position4" value="" name="position4" ></s:textfield><br> <s:textfield cssClass="position" id="position5" value="" name="position5" ></s:textfield> </s:div> 因为我已经配置了simple主题。像我一样把这个放进去struts.xml <constant name="struts.ui.theme" value="simple"/>
我想创建更多文本文件: 我想创建更多文本文件: <s:div cssClass="div_position"> <s:textfield cssClass="position" id="position1" value="" name="position1" ></s:textfield> <s:textfield cssClass="position" id="position2" value="" name="position2" ></s:textfield> <s:textfield cssClass="position" id="position3" value="" name="position3" ></s:textfield> <s:textfield cssClass="position" id="position4" value="" name="position4" ></s:textfield> <s:textfield cssClass="position" id="position5" value="" name="position5" ></s:textfield> </s:div> 班级div_position如下: .div_position{ height:50px; overflow-y:Scroll; } 它不起作用,我只显示文本字段,但在 . 之外 这对我有用 <s:div cssClass="div_position" cssStyle="height:50px;overflow-y:scroll;"> <s:textfield cssClass="position" id="position1" value="" name="position1" ></s:textfield> <s:textfield cssClass="position" id="position2" value="" name="position2" ></s:textfield><br> <s:textfield cssClass="position" id="position3" value="" name="position3" ></s:textfield> <s:textfield cssClass="position" id="position4" value="" name="position4" ></s:textfield><br> <s:textfield cssClass="position" id="position5" value="" name="position5" ></s:textfield> </s:div> 因为我已经配置了simple主题。像我一样把这个放进去struts.xml <constant name="struts.ui.theme" value="simple"/>
如何克服配置 org.apache.struts2.tiles.StrutsTilesListener 类的应用程序侦听器时出错
我的 Eclipse 上运行着两个项目。我可以运行其中一个项目,但是如果我尝试运行第二个项目,则会收到错误: 配置 org.apache 类的应用程序侦听器时出错。
我遇到了一些问题,例如如果我在 DAO 中修改或过滤查询,则 JSON 结果不会出现,否则它可以正常工作。但我需要过滤查询。所有详细信息如下: 表详细信息: 地址(地址...
按下“更新”按钮时,我尝试将值从 JSP 页面传递到我的 Action 类。 对于这种情况,我在操作类中使用 getter 和 setter 创建一个名为 value 的字符串列表。 我的公关...
我正在尝试向一系列按钮添加工具提示。文本是动态的,因为它需要一个参数(显示带有页码的文本),该参数存储在 global.properties 中: page.nr.tooltip=转到...