您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何从struts2的参数列表中排除Submit操作?

如何从struts2的参数列表中排除Submit操作?

为什么不排除“提交”按钮的参数?

因为此参数位于认情况下在其中引用您操作excludeParamsparams拦截器的列表中defaultStack

<s:submit>单击时如何调用postAction()方法

在此问题中,您将询问如何调用方法(而不是操作)。使用名称空间和动作名称将第一个动作与方法间的差异映射到指定的URL。因此,要调用除动作以外的方法,应打开DMI。从2.3.16版本开始,Struts禁用了此选项。以下配置常量可用于struts.xml

<constant name="struts.enable.DynamicMethodInvocation" value="true"/>

并使用method属性代替action属性

<s:form namespace="/admin_side" action="test">
  <s:submit value="Submit" method="postAction"/>
</s:form>

如果您不想使用DMI,则可以选择启用action:参数前缀

<constant name="struts.mapper.action.prefix.enabled" value="true"/>

并使用映射到该方法的操作 postAction

<s:form namespace="/admin_side" action="test">
  <s:submit value="Submit" action="postAction"/>
</s:form>

并在不使用的情况下使用注释params.excludeParams

@InterceptorRef(value="defaultStack" params={"validation.excludeMethods", "test"})

action:postAction参数位于“排除”列表上的警告仍然存在,但仅在时出现struts.devMode=true。您不必担心,因为它会警告excludeParams通过的列表中的所有参数。要关闭devMode您应该设置

<constant name="struts.devMode" value="false" />
其他 2022/1/1 18:14:01 有631人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶