zoukankan      html  css  js  c++  java
  • 解决Struts2.5版本使用DML动态调用和<s:form method="">method属性不生效问题

    问题原因

    两个问题根本是相同的,都是外部jsp调用Action中的方法,因为新版本2.5中 的安全机制 ,导致无法用action外部传来的方法,所以两个解决方法是一致的。


    解决步骤:

    步骤1

    新版本2.5是默认不开启动态调用的所以要手动开启,在struts.xml文件中添加常量配置,开启动态方法调用:

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

    步骤2:

    开启动态调用也不能使用,因为struts2.5的安全机制限制外部调用,所以需要声明允许直接访问的方法,

    方法有两种:

      在struts.xml中的package标签下添加<global-allowed-methods>,标签值为允许外部调用的方法名,多个用逗号分隔,要放在action标签的前面。

      或者在action标签中添加<allowed-methods>形式同上,要放在result标签后边。

    <!--第一种-->
    <package name="default" namespace="/" extends="struts-default">
    <global-allowed-methods>methodName[,...]</global-allowed-methods>
    <action></action>
    ...
    </package>
    
    
    <!--第二种-->
    <action name="login-two" class="action.LoginAction_XWork" >
    <result name="hello">/hello.jsp</result>
    <allowed-methods>methodName[,...]</allowed-methods>
    </action>
  • 相关阅读:
    robot framework 实例:126邮箱登录
    python帮助文档查看
    robot framework 测试库安装
    robot framework 变量与常量
    robot framework连接mysql数据库
    、搭建Android开发环境
    基于Eclipse的Android开发环境搭建
    MySQLzip压缩文件格式安装教程
    tomcat版本号的修改
    java时间格式
  • 原文地址:https://www.cnblogs.com/liuyiyuan/p/12697109.html
Copyright © 2011-2022 走看看