我们可以在Struts2字段表达式中调用带参数的方法吗?

2024-03-16

我已将 Sturts2 应用程序配置为对我的操作使用验证 xml。我也有 fieldexpress 工作。

是否可以从表达式中的操作中调用方法。 例如:

<field name="myField">
  <field-validator type="fieldexpression">
    <param name="expression"><![CDATA[
      @com.test.MyClass@isCaptchaOk(keyString, userResponce)
    ]]></param>
    <message>My credit limit should be MORE than my girlfriend's</message>
  </field-validator>
</field>

这是我的实际测试代码,简单的字段表达式有效,但函数调用一无效(请参阅 tbox1)。 我不确定 @class@method 路径是否正常,但不起作用 因为,我已经在函数中添加了登录,但没有任何结果,所以我认为验证器无法访问这些函数。

另外,这是否可能,即是否允许,或者我是否过于雄心勃勃。

Thanks

PS我已经更正了这条信息,我不会交易我的女朋友;-)****验证.xml

<!DOCTYPE validators PUBLIC  
            "-//OpenSymphony Group//XWork Validator 1.0.2//EN"  
            "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
    <field name="tbox1">
        <field-validator type="fieldexpression">
            <param name="expression"><![CDATA[@uk.co.nhbc.userRegistration.action.Test2Action@getString()]]></param>
            <message>function call message here</message>
        </field-validator>
    <field-validator type="fieldexpression">
        <param name="expression"><![CDATA[@uk.co.nhbc.userRegistration.action.Test2Action@isCaptchaOk(tbox1, user.username)]]></param>
        <message>function call message here</message>
    </field-validator>
    </field>
    <field name="tbox2">
        <field-validator type="stringlength">
            <param name="maxLength">5</param>
            <message>length messssage here</message>
        </field-validator>
    </field>
    <field name="user.username">
        <field-validator type="fieldexpression">
            <param name="expression"><![CDATA[(!(tbox2 == "aa" && user.username.equals("")))]]></param>
            <message>tbox2 eq aa and username is empty messssage2 here</message>
        </field-validator>

    </field>

</validators>

*******


为了在表达式中调用静态方法(必须是 OGNL),您应该通过将以下常量添加到 struts.xml 文件来启用 struts.ognl.allowStaticMethodAccess:

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

我们可以在Struts2字段表达式中调用带参数的方法吗? 的相关文章

  • Struts2——异常启动过滤器struts

    我有一个和我刚才问的类似的问题 我正在尝试启动我的 Struts2 应用程序 但这次我刚刚下载了 javassist 3 0 jar 并将其添加到我的类路径 和 WEB INF lib 中 但仍然遇到同样的错误 有什么建议吗 以下是我的 w
  • 表达式树深度限制

    我在尝试对类型为 Expression gt 的 LambdaExpression 调用 Compile 时遇到问题 该表达式的深度约为 400 较小的值不会导致任何问题 我找不到任何有关此类限制的信息 谁能澄清这一点吗 我可以增加这个限制
  • 如何在 PHP 中验证小数

    如何在 PHP 中验证十进制数字 我查看了 is numeric 但这对我不起作用 bool is numeric 混合变量 查找给定变量是否为 数字 数字字符串包括 可选符号 任意数量的数字 可选的小数部分和可选的 指数部分 因此 012
  • 需要.Net 的公式解释器[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Struts 2 动态变量

    我正在尝试使用 set 标签在 Struts2 中创建动态变量
  • JS jQuery - 检查值是否在数组中

    我更喜欢 PHP 而不是 JS 我认为我的问题更多是语法问题 我有一个小的 jQuery 来 验证 并检查输入值 它适用于单个单词 但我需要数组 我正在使用inArray jQuery 的 var ar value1 value2 valu
  • 文件保存在文件系统中 VS 保存在数据库中

    我正在设计一个 servlet 或 Struts2 中的操作 用于文件 图像 文档等 下载 但我想知道哪种更好的方法可以将文件保留在文件系统和数据库中 只需保留文件的路径或将文件保留在数据库中 如 BLOB 我知道当我查询数据库时 哪里的
  • 如何将 wsdl 内部架构设置为 Jaxb2Marshaller 以验证我所做的每篇文章?

    我正在使用 SOAP Web 服务 在调用它之前我必须验证每个 xml 帖子 所以我正在使用 The CXF codegen 插件生成POJO树结构 第三部分 wsdl xxxx soap service wsdl 一个类实现Web服务网关
  • 该捆绑包无效。 Apple 目前不接受使用此版本操作系统构建的应用程序。 (小牛队)

    我首先说我已经安装了 Mavericks 我很好奇看到新功能 最好还是等待 因为 显然 没有什么耸人听闻的变化 无论如何 我正在尝试将我的应用程序提交到应用程序商店 但经过与代码签名的真正艰苦斗争后 我最终得到了以下消息 此捆绑包无效 Ap
  • AJAX Rails 验证

    我的表单和验证可以很好地处理常规的 http 请求 我希望它使用 AJAX 我知道我可以在客户端进行验证 但这似乎是多余的 因为我已经在模型中定义了验证 当用户填写表单时 我想就他们的条目向他们提供反馈 在 AJAX 表单中使用 Rails
  • 有没有办法调用 VBA(MS Access 2002 或 2003)中任何控件的 BeforeUpdate 事件过程?

    在 VBA 中 我正在更改 Access 表单中的一些控件的值 我喜欢在执行此操作后运行这些控件的 BeforeUpdate 事件 因为它会检查字段之间的一致性 Private Sub ExampleProc1 Dim intCancel
  • 根据 MVC 中的文化的日期时间格式

    我有一个 MVC 视图 其中列出了一个名为 CreatedOn 的日期时间类型列 值的格式如下 日 月 年 时 分 秒 当我单击编辑链接修改值时 我获得相同的格式 当我修改编辑值时 出现验证错误 字段 CreatedOn 必须是日期 我的
  • Angular 2:使用正则表达式进行数字验证

    我正在尝试验证 IE 11 中的数字字段
  • 如何在netbeans中创建属性文件

    我正在开发一个 struts2 Web 应用程序项目并使用 netbeans 6 9 我想为我的项目创建一个属性文件 我该如何在net beans中做到这一点 右键单击要添加属性文件的位置 new gt other gt other gt
  • 构建动态 ConstraintViolation 错误消息

    我写了一个由自定义实现的验证注释ConstraintValidator 我也想生成非常具体的ConstraintViolation使用消息插值期间验证过程中计算的值的对象 public class CustomValidator imple
  • 将字符串从 Struts2 操作返回到 jQuery [重复]

    这个问题在这里已经有答案了 我使用 jQuery Ajax 调用 Struts2 操作 如下所示 ajax url callAction action type POST data data dataType string success
  • jquery.validate:多个远程规则

    我计划使用两个远程规则验证单个文本字段 更多这样的 form validate rules remote url1 php remote url2 php messages remote Error1 remote Error2 这可能吗
  • 如何在重定向操作中传递 ActionMessage 和 ActionError [重复]

    这个问题在这里已经有答案了 可能的重复 我可以在不同的操作类之间传播 struts2 ActionErrors 吗 https stackoverflow com questions 1070111 can i propagate stru
  • 如何比较 Struts 2 中 url 请求参数中的单个字符

    我正在读取具有单个字符的 url 参数 它将是Y or N 我必须写一个条件来检查它是否Y or N并做相应的事情 这是我写的 但似乎不起作用 总是转到其他地方 网址是
  • 嵌套计算操作

    希望这很简单 我想使用CSS calc操作来执行两个计算 我想将宽度设置为等于 100 7 2 但是 如果我尝试在 CSS 计算操作中执行多个操作 则会失败 width calc 100 7 2 如何在一个 CSS 语句中执行多个计算操作

随机推荐