JSP(JavaServer Pages)是一种在服务器上运行的基于Java的视图技术,它允许您在(客户端语言,如HTML,CSS,JavaScript等)中编写模板文本,并与后端Java代码进行交互。
我想将 getGneratedKeys()(也称为 last_ generated_id)从当前 Java 类传递到下一个类。然而,我对如何储存和收集却一无所知......
如何使用常规 HTML 连接并执行 Struts 2 中的 validate() 方法?
我正在尝试使用 Struts 2 创建一个登录表单。为此,我在下面创建了一个 JSP 页面 我正在尝试使用 Struts 2 创建一个登录表单。为此我在下面创建了一个 JSP 页面 <form method="post" id="frmLogin" action="login" onSubmit="return loginValidation()"> <table class="tblLogin"> <tr><th colspan="2">Log in</th></tr> <tr> <td class="labels">Username:</td> <td><input type="text" id="txtUsername" maxlength="10"></td> </tr> <tr> <td class="labels">Password:</td> <td><input type="password" id="txtPassword" maxlength="16"></td> </tr> <tr> <td colspan="2" align="center"> <input type="image" class="loginButton" src="design/images/btn3.png" value="Log in"> </td> </tr> </table> </form> 在页面中,我已使用 JavaScript 验证了页面。我还创建了带有 getter 和 setter 的操作类以及一个返回 execute() 的 SUCCESS 方法。 我在网上搜索了一下,发现所有的例子都是使用Struts标签。 如何使用常规 HTML 连接并执行 Struts 中的 validate() 方法。否则,使用 Struts 2 验证和提交表单的方法是什么? 现在,我的问题是,我给出了错误的username并且发生了password表单提交。 对于服务器端验证: 你必须在你的动作类中扩展ActionSupport。然后,重写 validate() 方法。这是一个例子: @Override public void validate() { if (this.username == null || this.username.isEmpty()) { addFieldError("username", "Username is required"); } if (this.password == null || this.password.isEmpty()) { addFieldError("password", "Password is required"); } } 如果这对您有用,您可以在 validate() 方法 上添加更多语句 此外,您还可以使用 ActionSuport getText() 方法来获取包含要显示的错误消息的字符串: @Override public void validate() { if (this.username == null) { addFieldError("username", getText("err_username_req")); } ..... // same for password and other statements } 您所要做的就是将 err_username_req 作为属性包含在您的 struts2 资源文件中(就在您想要保留字符串的文件中,例如,用于验证错误和其他内容),然后您就可以开始了: ) . 在常规 HTML 中,您缺少一些 Struts2 功能,例如 xhtml 主题。该主题允许显示操作错误以及输入字段。要验证输入字段,您需要将值作为参数传递给操作。提交表单时会创建操作实例。如果使用相同的名称将字段绑定到操作属性,效果会更好。 默认情况下,参数不仅会合并在操作上下文中,还会填充操作实例。确保您的操作类扩展了 ActionSupport,因为它是调用 validation() 方法所必需的,并且具有验证错误的上下文。 使用defaultStack拦截器,包括validation拦截器和workflow拦截器。如果操作有验证错误,最后一个将阻止该操作执行。 <form method="post" id="frmLogin" action="login" onSubmit="return loginValidation()"> <table class="tblLogin"> <tr><th colspan="2">Log in</th></tr> <tr> <td class="labels">Username:</td> <td><input type="text" id="txtUsername" name="username" maxlength="10"></td> </tr> <tr> <td class="labels">Password:</td> <td><input type="password" id="txtPassword" name="password" maxlength="16"></td> </tr> <tr> <td colspan="2" align="center"> <input type="image" class="loginButton" src="design/images/btn3.png" value="Log in"> </td> </tr> </table> </form>
如何使用常规 HTML 连接并执行 Struts 的验证方法
我正在尝试使用 Struts 2 创建一个登录表单。为此,我在下面创建了一个 JSP 页面 我正在尝试使用 Struts 2 创建一个登录表单。为此我在下面创建了一个 JSP 页面 <form method="post" id="frmLogin" action="login" onSubmit="return loginValidation()"> <table class="tblLogin"> <tr><th colspan="2">Log in</th></tr> <tr> <td class="labels">Username:</td> <td><input type="text" id="txtUsername" maxlength="10"></td> </tr> <tr> <td class="labels">Password:</td> <td><input type="password" id="txtPassword" maxlength="16"></td> </tr> <tr> <td colspan="2" align="center"> <input type="image" class="loginButton" src="design/images/btn3.png" value="Log in"> </td> </tr> </table> </form> 在页面中,我已使用 JavaScript 验证了页面。我还创建了带有 getter 和 setter 的操作类以及一个返回 execute() 的 SUCCESS 方法。 我在网上搜索了一下,发现所有的例子都是使用Struts标签。 如何使用常规 HTML 连接并执行 Struts 中的 validate() 方法。否则,使用 Struts 2 验证和提交表单的方法是什么? 现在,我的问题是,我给出了错误的username并且发生了password表单提交。 对于服务器端验证: 你必须在你的动作类中扩展ActionSupport。然后,重写 validate() 方法。这是一个例子: @Override public void validate() { if (this.username == null || this.username.isEmpty()) { addFieldError("username", "Username is required"); } if (this.password == null || this.password.isEmpty()) { addFieldError("password", "Password is required"); } } 如果这对您有用,您可以在 validate() 方法 上添加更多语句 此外,您还可以使用 ActionSuport getText() 方法来获取包含要显示的错误消息的字符串: @Override public void validate() { if (this.username == null) { addFieldError("username", getText("err_username_req")); } ..... // same for password and other statements } 您所要做的就是将 err_username_req 作为属性包含在您的 struts2 资源文件中(就在您想要保留字符串的文件中,例如,用于验证错误和其他内容),然后您就可以开始了: ) . 在常规 HTML 中,您缺少一些 Struts2 功能,例如 xhtml 主题。该主题允许显示操作错误以及输入字段。要验证输入字段,您需要将值作为参数传递给操作。提交表单时会创建操作实例。如果使用相同的名称将字段绑定到操作属性,效果会更好。 默认情况下,参数不仅会合并在操作上下文中,还会填充操作实例。确保您的操作类扩展了 ActionSupport,因为它是调用 validation() 方法所必需的,并且具有验证错误的上下文。 使用defaultStack拦截器,包括validation拦截器和workflow拦截器。如果操作有验证错误,最后一个将阻止该操作执行。 <form method="post" id="frmLogin" action="login" onSubmit="return loginValidation()"> <table class="tblLogin"> <tr><th colspan="2">Log in</th></tr> <tr> <td class="labels">Username:</td> <td><input type="text" id="txtUsername" name="username" maxlength="10"></td> </tr> <tr> <td class="labels">Password:</td> <td><input type="password" id="txtPassword" name="password" maxlength="16"></td> </tr> <tr> <td colspan="2" align="center"> <input type="image" class="loginButton" src="design/images/btn3.png" value="Log in"> </td> </tr> </table> </form>
Struts 2 中<s:iterator>标签除法时如何获取数字的ceil值
我正在使用 Struts 标签来显示我的数组列表,我必须在 标签的 end 属性中放置一个条件。两个整数相减时如何获取ceil值...
我正在使用 Struts 标签来显示我的数组列表,我必须在 标签的 end 属性中放置一个条件。两个整数相减时如何获取ceil值...
我在使用 Struts 2 的 JSP 中有以下代码块(位于表单中的表内): 我在使用 Struts 2 的 JSP 中有以下代码块(位于表单中的表格内): <s:iterator value="editableService.parameters" status="serviceStatus"> <tr> <td><s:property value="name" /></td> <td><s:textfield name="value" label="Value" size="40" /></td> </tr> </s:iterator> 在我的 Struts2 操作中,当用户提交时如何获取所有键及其值? 由于此表单的内容对于每个迭代器都是动态的,因此我无法使用单个 POJO 来表示表单内容。 这是你必须做的,你需要编写代码 行动中: private List<String> values = new ArrayList<>(); public List<String> getValues(){ return values; } 在 JSP 中: <s:iterator value="editableService.parameters" status="serviceStatus"> <tr> <td><s:property value="name" /></td> <td><s:textfield name="values[%{#serviceStatus.index}]" value="%{value}" label="Value" size="40" /></td> </tr> </s:iterator>
如何在 Struts 2 jQuery 饼图中设置自定义颜色
我正在实现 Struts 2 JQuery 饼图。我不知道如何为图表设置自定义颜色。在后端,我只是创建一个映射,其中键为字符串,值为整数。我应该具备什么属性...
在自定义 JSP 模板中使用 Struts 2 taglib 实现邮件模板
我正在构建一个利用 Struts 2 作为主要框架的应用程序,但要求之一是该应用程序发送自动电子邮件。 由于 Struts 2 不包含太多额外的帮助...
我正在创建一个表管理器。我已经用简单的 HTML Table 标签实现了它。 但现在,我想使用显示标签来实现它。 基本上,整个页面是动态的,也就是说,如果我添加一个
如何将列表作为参数从一个 JSP 传递到 Struts 2 中包含的 JSP?
想象一下,您希望下面的 JSP 代码片段位于多个页面中,唯一不同的是传递给它的列表(示例中的 xxx)。 想象一下,您希望下面的 JSP 代码片段位于多个页面中,唯一不同的是传递给它的列表(示例中的 xxx)。 <s:iterator value="%{#xxx}" var="module" status="stat"> <s:property value="#module.name"/> </s:iterator> 我的第一个想法是将其放在 myFragment.jsp 中,并在其他页面中使用 <s:include> 来包含它,并将列表作为 <s:param> 传递,例如: <s:include value="/myFragment.jsp"> <s:param name="xxx" value="%{#myModules}"></s:param> </s:include> 问题是<s:param>似乎只传递字符串,所以上面的代码不起作用。 我也尝试过使用 <s:set var="myParam">${param.xxx}</s:set> (并尝试将 myParam 放入迭代器中,但没有成功。 问题: 正确的方法是什么? 对于这种情况,您希望通过将公共代码重构到统一位置来消除 JSP 中的重复代码,是否有更优雅的解决方案? 编辑(示例): 例如,您有 Page1.jsp 和 Page2.jsp。两者都使用非常相似的 <s:iterator>,唯一的区别是传递给它的变量。目标是将 <s:iterator> 重构到某个地方,这样你就只写一次。 当然,在现实生活中,需要重构的代码不仅仅是<s:iterator>。 Page1.jsp: <s:action name="MyAction" var="xxx"></s:action> <s:iterator value="%{#xxx}" var="module" status="stat"> <s:property value="#module.name"/> </s:iterator> Page2.jsp: <s:iterator value="%{#variableFromStack.modules}" var="module" status="stat"> <s:property value="#module.name"/> </s:iterator> 我认为没有任何理由将参数传递给 s:include 标签。请注意,参数只能作为请求参数来访问: 参数作为请求参数传递,因此请使用 ${param.ParamName} 表示法来访问它们。请勿使用 s:property 标签访问包含文件中的参数。 正确的做法是在valueStack上推送参数。 优雅的解决方案是使用 Tiles 框架。 Tiles 是一个模板框架,旨在轻松创建具有一致外观和感觉的 Web 应用程序页面。它可以用于页面装饰和组件化。 有 Tiles 2 和 Tiles 3 集成插件。
如何在 Struts 2 中启用/禁用 <s:checkbox>?
我想在我的页面中显示 2 个复选框(称为 box1 和 box2)。默认值为 box1 = false 和 box2 = false。但我还必须仅在 box1 = true 时启用 box2。所以我创建了以下...
我正在将 Struts 1 迁移到 Struts 2 Web 项目。 下面是 Struts 1 代码: 我正在将 Struts 1 迁移到 Struts 2 Web 项目。 下面是 Struts 1 代码: <html:select property="dobYear" styleId="dobYear" styleClass="text_field text2" style="width:70px" onchange="loadDayOptions(this.options[this.options.selectedIndex].value, getElement('dobMonth').options[getElement('dobMonth').options.selectedIndex].value, getElement('dobDay'));"> <html:option value="">--</html:option> <% int thisYear = Calendar.getInstance().get(Calendar.YEAR); int fromYear = thisYear - 17; int toYear = 1900; for(int i=fromYear; i>=toYear; i--){ %> <html:option value="<%=String.valueOf(i) %>"><%=String.valueOf(i) %></html:option> <% } %> </html:select> 如果我想在 Struts 2 中使用 <s:select> 的以下代码,但不使用 list 属性,而是使用 <option>,可以吗?我的语法正确吗? <s:select value="#{editForm.dobYear}" name="editForm.dobYear" id="dobYear" styleClass="text_field text2" style="width:70px" onchange="loadDayOptions(this.options[this.options.selectedIndex].value, getElement('dobMonth').options[getElement('dobMonth').options.selectedIndex].value, getElement('dobDay'));"> <option value="">--</option> <% int thisYear = Calendar.getInstance().get(Calendar.YEAR); int fromYear = thisYear - 17; int toYear = 1900; for(int i=fromYear; i>=toYear; i--){ %> <option value="<%=String.valueOf(i) %>"><%=String.valueOf(i) %></option> <% } %> </s:select> 语法不正确。根据 TLD,struts select 标签应该有一个空的正文。 你不能以这种方式使用struts select标签。但你可以将其转换为html select <select value="${editForm.dobYear}" name="editForm.dobYear" id="dobYear" styleClass="text_field text2" style="width:70px" onchange="loadDayOptions(this.options[this.options.selectedIndex].value, getElement('dobMonth').options[getElement('dobMonth').options.selectedIndex].value, getElement('dobDay'));"> <option value="">--</option> <% int thisYear = Calendar.getInstance().get(Calendar.YEAR); int fromYear = thisYear - 17; int toYear = 1900; for(int i=fromYear; i>=toYear; i--){ %> <option value="<%=String.valueOf(i) %>"><%=String.valueOf(i) %></option> <% } %> </select>
我正在将 Struts 1 迁移到 Struts 2 Web 项目。 下面是 Struts 1 代码: 我正在将 Struts 1 迁移到 Struts 2 Web 项目。 下面是 Struts 1 代码: <html:select property="dobYear" styleId="dobYear" styleClass="text_field text2" style="width:70px" onchange="loadDayOptions(this.options[this.options.selectedIndex].value, getElement('dobMonth').options[getElement('dobMonth').options.selectedIndex].value, getElement('dobDay'));"> <html:option value="">--</html:option> <% int thisYear = Calendar.getInstance().get(Calendar.YEAR); int fromYear = thisYear - 17; int toYear = 1900; for(int i=fromYear; i>=toYear; i--){ %> <html:option value="<%=String.valueOf(i) %>"><%=String.valueOf(i) %></html:option> <% } %> </html:select> 如果我想在 Struts 2 中使用 <s:select> 的以下代码,但不使用 list 属性,而是使用 <option>,可以吗?我的语法正确吗? <s:select value="#{editForm.dobYear}" name="editForm.dobYear" id="dobYear" styleClass="text_field text2" style="width:70px" onchange="loadDayOptions(this.options[this.options.selectedIndex].value, getElement('dobMonth').options[getElement('dobMonth').options.selectedIndex].value, getElement('dobDay'));"> <option value="">--</option> <% int thisYear = Calendar.getInstance().get(Calendar.YEAR); int fromYear = thisYear - 17; int toYear = 1900; for(int i=fromYear; i>=toYear; i--){ %> <option value="<%=String.valueOf(i) %>"><%=String.valueOf(i) %></option> <% } %> </s:select> 语法不正确。根据 TLD,struts select 标签应该有一个空的正文。 你不能以这种方式使用struts select标签。但你可以将其转换为html select <select value="${editForm.dobYear}" name="editForm.dobYear" id="dobYear" styleClass="text_field text2" style="width:70px" onchange="loadDayOptions(this.options[this.options.selectedIndex].value, getElement('dobMonth').options[getElement('dobMonth').options.selectedIndex].value, getElement('dobDay'));"> <option value="">--</option> <% int thisYear = Calendar.getInstance().get(Calendar.YEAR); int fromYear = thisYear - 17; int toYear = 1900; for(int i=fromYear; i>=toYear; i--){ %> <option value="<%=String.valueOf(i) %>"><%=String.valueOf(i) %></option> <% } %> </select>
异常: org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java...
我正在使用 Struts 1,只想清理每个请求上参数的 URL。 在请求中,例如: myapp.com/view.do?method=search 行动: 公共 ActionForward 搜索(ActionMapping 映射,
java.lang.ClassCastException:org.apache.struts.validator.DynaValidatorForm 无法转换
我想从数据库中的JSP表单中搜索数据并将其显示在另一个JSP文件中... javax.servlet.ServletException:java.lang.ClassCastException:org.apache.struts.validator.DynaValidatorForm
我正在研究Struts 1项目,该项目之前已经实现了PDF.js来预览文档。由于 PDF.js 库不支持水印选项,我决定转向 PDF.js Ex...
我有一个JSP页面,它是从Struts操作调用并设置会话变量,但是当我执行JavaScript函数时,它没有在或t中被调用...
为什么 document.forms[0] 和 document.<formname> 在 Struts 2 中具有不同的元素?
我正在尝试在 Struts 2 中实现客户端验证。我的主题是 xhtml。生成的 JavaScript 无法验证我的代码。 经过调试,我发现Struts 2使用的是以下...
javascript document.forms[0] 和 document.<formname> 具有不同的元素
我正在尝试在 Struts 2 中实现客户端验证。我的主题是 xhtml。生成的 JavaScript 无法验证我的代码。 经过调试,我发现Struts 2使用的是以下...