请选择 进入手机版 | 继续访问电脑版
本站特色:极好的技术研究氛围!所有技术交流,必有回复!

疯狂Java联盟

 找回密码
 加入联盟
查看: 161|回复: 0

Struts2连载(10)-- 动态方法调用之"*"符号方式

[复制链接]
发表于 2018-2-11 21:04:10 | 显示全部楼层 |阅读模式
更多Struts2的知识请参考李刚老师著作《Struts 2.x权威指南(第3版)》

京东购买地址:https://item.jd.com/11105100.html

先确认已经开启动态方法常量设置:
  1. <constant name="struts.enable.DynamicMethodInvocation" value="true"/>
复制代码



第二种方式:配置一个Action,使用*达到通配效果  

JSP页面代码:
  1. <!-- 第二种方式:使用通配符*,通过表达式{1},{2}区分
  2.     <action name="book_*"
  3. -->
  4. <!-- book_login.action {1}就是login,就会调用login方法 -->
  5. <a href="book_login.action">Book登录</a><br><br>
  6. <!-- book_register.action {1}就是register,就会调用register方法 -->
  7. <a href="book_register.action">Book注册</a><br><br>
  8. <!-- book_remove.action {1}就是remove,就会调用remove方法 -->
  9. <a href="book_remove.action">Book删除</a><br><br>
  10. <!-- book_modify.action {1}就是modify,就会调用modify方法 -->
  11. <a href="book_modify.action">Book登录</a><br><br>
复制代码



Action类:
  1. package org.fkjava.action;

  2. import com.opensymphony.xwork2.Action;

  3. public class BookAction implements Action {

  4.     @Override
  5.     public String execute() throws Exception {
  6.         // TODO Auto-generated method stub
  7.         return null;
  8.     }
  9.    
  10.     public String login() throws Exception {
  11.         System.out.println("BookAction login -->>");
  12.         return SUCCESS;
  13.     }
  14.    
  15.     public String register() throws Exception {
  16.         System.out.println("BookAction register -->>");
  17.         return SUCCESS;
  18.     }
  19.    
  20.     public String remove() throws Exception {
  21.         System.out.println("BookAction remove -->>");
  22.         return SUCCESS;
  23.     }
  24.    
  25.     public String modify() throws Exception {
  26.         System.out.println("BookAction modify -->>");
  27.         return SUCCESS;
  28.     }


  29. }
复制代码



struts.xml:
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE struts PUBLIC
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
  4.     "http://struts.apache.org/dtds/struts-2.3.dtd">

  5. <struts>
  6.     <!-- 开启动态方法调用,默认false -->
  7.     <constant name="struts.enable.DynamicMethodInvocation" value="true"/>

  8.     <!-- 所有处理请求的Action都是写在package下面 -->
  9.     <package name="default" namespace="/" extends="struts-default">
  10.         
  11.         <!--
  12.             <action name="book_*" book_login.action {1}就是login,就会调用login方法
  13.          -->
  14.         <action name="book_*" class="org.fkjava.action.BookAction"
  15.         method="{1}">
  16.             <result name="success">/success.jsp</result>
  17.         </action>
  18.         
  19.         
  20.     </package>


  21. </struts>
复制代码




您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

小黑屋|手机版|Archiver|疯狂Java联盟 ( 粤ICP备11094030号 )

GMT+8, 2018-8-19 05:53 , Processed in 0.222080 second(s), 6 queries , File On.

快速回复 返回顶部 返回列表