如何避免 Struts2 验证

2024-01-02

我有一个index.jsp我从中调用一个动作类TestAction(单击超链接)其中有方法(显示)从数据库加载组合框的值以及执行方法,以显示在页面上test.jsp.

On test.jsp,我有一些输入字段和组合框。单击 test.jsp 上的按钮时,我想验证输入字段,但问题是,当我来自 index.jsp 时,此时只发生验证,并且test.jsp打开时显示错误消息。

我尝试使用客户端验证<ActionName>-validator.xml以及通过重写 validate 方法来使用服务器端验证。如何避免在单击 index.jsp 上的超链接时进行验证,并可以在单击 test.jsp 上的按钮时进行验证。

这是我的代码:

索引.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>
<title>Data</title>

</head>
<body>
<s:form>

   <a href="<s:url action="displayAction.action"/>" >Display Data</a><br>

</s:form>
</body>
</html>

测试.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>
        <title>Data</title>
     <script type="text/javascript">


           function openPopUp(){
                document.getElementById('testForm').setAttribute('target', '_blank');
                document.getElementById('testForm').setAttribute('action', 'testAction.action');
            }
            </script>
        <s:head theme="ajax" debug="true"/>
        </head>
        <body bgcolor="white">

        <s:form validate="true" id="testForm">
        <div>
      <s:actionerror/>
   </div>
        <table>

        //Mapping of data from database

        </table>
        <s:submit id="submitButton" value="Display Chart" align="center" onclick="openPopUp();"/>
        </s:form>
        </body>
        </html>

struts.xml

<action name="testAction" 
        class="testAction" 
        method="execute">
             <result name="success" type="chart">
                <param name="value">chart</param>
                <param name="type">jpeg</param>
                <param name="width">600</param>
                <param name="height">400</param>
            </result> 
</action>

<action name="displayAction" 
        class="testAction" 
        method="display">
            <result name="success">test.jsp</result>
</action>

如果您不想验证某些操作,只需输入@SkipValidation操作方法上的注释。这个答案展示如何使用此注释 https://stackoverflow.com/a/18231537/573032,以及这个答案展示了另一种方法 https://stackoverflow.com/a/14400119/573032.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何避免 Struts2 验证 的相关文章

随机推荐

  • 'Room' 类是抽象的;无法实例化

    我有一个抽象类Room它有子类Family and Standard 我创造了room new ArrayList
  • 2 Kubernetes pod 在不知道暴露地址的情况下进行通信

    我计划部署 2 个带有 NodePort 服务的 kubernetes pod 将它们暴露到网络中 现在我希望 pod 1 能够通过他的服务访问 pod 2 问题是我编写部署文件 但我不知道 pod 2 将从集群获取的 IP 地址 但我需要
  • WPF:使用虚拟键盘

    我创建了一个虚拟键盘用户控件 可以在应用程序中跨多个窗口使用 我想知道当按下某个键时如何将其输入到窗口中的文本框中 我正在寻找的是这样的 private void keyboardKey Click object sender Routed
  • Angular2 - 将文本框聚焦于组件加载

    我正在 Angular2 Beta 8 中开发一个组件 该组件有一个文本框和一个下拉列表 我想在组件加载或下拉列表更改事件后立即将焦点设置在文本框中 我如何在 Angular2 中实现这一点 以下是该组件的 Html div div
  • TypeError:使用 tf.map_fn 和 keras 功能模型时无法为

    当我尝试在 keras 功能模型的定义中使用 tf map fn 时 出现错误 TypeError Could not build a TypeSpec for
  • 如何使用 AngularJS 在过滤速度慢时显示某些内容

    在 Angular 中 我有一个表格和一个搜索框 用户可以在其中键入内容 Angular 将在数据中搜索并显示表格 问题是我有足够的数据 过滤可能会减慢 在这种情况下 我想显示一个微调器 类似于我的 html 的示例 Search
  • Delphi 同步滚动组件

    我正在尝试同步 VCL Forms 应用程序中两个 TDBGrid 组件的滚动 但在没有堆栈问题的情况下拦截每个网格组件的 WndProc 时遇到困难 我尝试在滚动事件下发送 WM VSCROLL 消息 但这仍然导致错误的操作 它需要用于单
  • 如何禁用 UIPickerView (Swift)?

    我想禁用 UIPickerView 但将其设置为 isEnabled false 不起作用 不 我不想在使用视图时禁用它 而是无法滚动视图 直到完成某个操作才能重新启用它 我在这里尝试的代码不起作用 它甚至可能不是快速代码 如何禁用 UIP
  • 尝试理解 Ember JS 的承诺

    我一直在尝试编写一个代码示例来理解承诺 但我似乎无法弄清楚如何处理回调并稍后获取 thenable 值 以下是我正在研究的两个相关 JSBin 示例 以冗长的风格编写 以模仿烘焙饼干 没有异步的 Ember JS http jsbin co
  • 如何使用 jQuery 默认预加载所有选项卡

    如果我有 4 个选项卡 其中前 2 个使用 ajax 加载 后 2 个是静态的 那么默认情况下如何预加载 2 个 ajax 选项卡 目前 只有第一个选项卡会自动加载 第二个选项卡会在单击时加载 我希望它们都被加载 这样当我单击第二个时 内容
  • 如何在客户端生成JSON

    在项目中 我必须将复杂的 JSON 命令从服务器发送到客户端 生成 JSONObjects 字符串 数字等 将它们转换为字符串然后通过 RequestBuilder 发送它们是否有效 或者是否有更有效的方法 将 JSON 对象转换为字符串是
  • 监听多个事件

    如何在事件驱动架构中处理相关事件 具体来说 如果必须触发多个事件才能执行某些操作怎么办 例如 我有一个监听两个事件的微服务foo and bar并且仅当两个事件到达并且具有相同的相关 ID 时才执行操作 一种方法是在微服务内部保留一个内部数
  • 如何使用 PHP/HTML 保持空白格式?

    我正在解析文件中的文本并将其存储在字符串中 问题是原始文件中的某些文本包含ASCII art以及我想保留的东西 当我打印出字符串HTML page 即使它确实具有相同的格式和所有内容 因为它是HTML 不保留间距和换行符 打印文本的最佳方式
  • 在反应路由器中刷新时出现空白页面

    当我从 home 导航到 dashboard 时 路由器工作正常 但是当我从 home 导航到 profile id 时 路由器将我导航到也工作正常的配置文件页面 但是当我刷新它时 它会变成空白页面并且没有给我任何 404 或重定向回主页
  • Zend 表单编辑和 Zend_Validate_Db_NoRecordExists

    我正在通过构建一些供我自己使用的实用程序网站来慢慢增强我的 Zend 技能 我一直在使用 Zend Forms 和表单验证 到目前为止 我很高兴我已经了解了 Zend 的做事方式 然而 我对如何在编辑表单和映射到必须唯一的数据库列的字段的上
  • Cocoapods ld:找不到 -lPods-Projectname 的库

    我已经通过它安装了 cocoa pods 库和一些框架 现在 当我编译项目时 构建失败 错误 ld 找不到 lPods Project 的库 clang 错误 链接器命令失败 退出代码为 1 使用 v 查看调用 这里是部分文字 Ld Use
  • Expressjs:搜索查询 api

    我想使用查询字符串搜索我的用户存储库 这应该返回具有相似用户名 kyogron 和相似电子邮件 kyogron gmail 的所有用户 GET localhost 3000 users username kyogron email prot
  • 运行异步代码的 Windows 服务不等待工作完成

    In Brief 我有一个 Windows 服务 它可以并行执行多个作业作为异步任务 然而 当 OnStop 被调用时 似乎这些都被立即终止 而不是被允许以更优雅的方式停止 更详细 每个作业都代表工作的迭代 因此完成工作后 该作业需要再次运
  • 无法安装分发配置文件

    我想向 AppStore 提交一个应用程序 我的第一个应用程序 我已经在我的设备中测试了该应用程序 因此我已经有了开发配置文件 但我无法在 Xcode 中安装分发配置文件 我已按照该过程操作 我不知道多少次 但是当我尝试通过管理器添加配置文
  • 如何避免 Struts2 验证

    我有一个index jsp我从中调用一个动作类TestAction 单击超链接 其中有方法 显示 从数据库加载组合框的值以及执行方法 以显示在页面上test jsp On test jsp 我有一些输入字段和组合框 单击 test jsp