访问Struts2中的自定义方法的几种方式
2017-04-03 01:59
393 查看
前期准备
首先创建一个待测试的Action,然后在里面写一个自定义的方法,如下:
package com.struts.trio; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class MultiRequestAction extends ActionSupport{ public String addUser(){ //自定义方法 ActionContext.getContext().getSession() .put("user", "测试姓名"); //存一个字段在session 用于测试方法是否被调用 return "success"; } }
然后建一个
success.jsp用于调用返回界面:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>登录成功</title> </head> <body> <h1>${session.user} 登录成功</h1> </body> </html>
配置访问
这里我们来介绍四种配置struts.xml来实现访问自定义方法的方法。
添加method
实现访问
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!-- 定义逻辑视图与物理视图之间的联系 --> <package name="user" extends="struts-default" namespace="/user"> <action name="add" class="com.struts.trio.MultiRequestAction" method="addUser"> <result name="success">/jsp/success.jsp</result> </action> </package> <!-- end --> </struts>
这时候我们访问:http://localhost/HelloStruts2/user/add (我的端口设置成了 80)即可调用自定义方法!
注1:链接中的 user 和 add 分别是 package 里面的 namespace 属性和 action 里面的 name 属性。
注2:action 里面的 method 属性关联我们的自定义方法。
注3:下面struts.xml中的代码只贴出核心代码。
使用通配符 “*” 进行访问
<package name="user" extends="struts-default" namespace="/user"> <action name="*" class="com.struts.trio.MultiRequestAction" method="{1}"> <result name="success">/jsp/success.jsp</result> </action> </package>
访问链接:http://localhost/HelloStruts2/user/addUser
注1:这个是官方推荐使用的方法
使用 “!” 进行访问
这种方法称为:动态方法调用我们首先要都要开启动态方法调用
最后代码为:
<!-- 开启动态方法调用 --> <constant name="struts.enable.DynamicMethodInvocation" value="true"/> <package name="user" extends="struts-default" namespace="/user"> <action name="add" class="com.struts.trio.MultiRequestAction"> <result name="success">/jsp/success.jsp</result> </action> </package>
访问链接:http://localhost/HelloStruts2/user/add!addUser
注1:连接尾部的
addUser为自定义方法。
说明
可以使用:http://localhost/HelloStruts2/user/add?method:execute=addUser其中 add 是action的name属性,addUser为自定义方法名!
相关文章推荐
- Struts2的Action中方法的几种访问方式
- perl 访问类方法的几种方式
- perl 访问类方法的几种方式
- Struts2的国际化和访问资源文件的几种方式
- Struts2 访问Action中的指定方法 三种方式的总结
- struts2 lesson one: 的action特征,三种创建方法,action接收表单数据的三种访问,读取方式
- struts2的Action访问Servlet的几种方式和全局result
- struts2访问servletAPI的几种方式
- perl 访问类方法的几种方式
- Struts2的国际化和访问资源文件的几种方式
- Struts2中访问Servlet API的几种方式
- javascript为对象添加自定义方法的几种方式
- 关于"打开方式"--"选择程序" 被拒绝访问的解决方法
- 【续】用ObjectDataSource实现自定义分页的心得总结,几种分页方法的性能对比
- 命令行方式访问控制面板项目的方法
- ado方式访问带密码数据库的方法
- 提高数据库访问性能的几种方法
- action带自定义的方法,但是访问不到的原因。
- 公司MSN被禁用,WEB方式登陆MSN的几种方法
- .NET中窗体间相互访问的几种方式