SSH框架学习之Struts2(2):接收参数
来源:互联网 发布:小企业免费记账软件 编辑:程序博客网 时间:2024/06/01 22:22
参考视频:尚学堂
具体视图的返回
可以由用户自己定义的Action来决定
具体的手段是根据返回的字符串找到对应的配置项,来决定视图的内容
具体Action的实现可以是一个普通的java类,里面有public String execute方法即可
public class IndexAction1 { public String execute() { return "success"; }}
或者实现Action接口
public class IndexAction2 implements Action { @Override public String execute() { return "success"; }}
不过最常用的是从ActionSupport继承,好处在于可以直接使用Struts2封装好的方法
public class IndexAction3 extends ActionSupport { @Override public String execute() { return "success"; }}
<action name="index" class="com.bjsxt.struts2.front.action.IndexAction1">
在struts2中,这段action会访问IndexAction1类中的返回值为String类型的execute方法。当没有配置class时候,会执行默认的class,即ActionSupport.class,源码在xwork中,可以自己加载出来。
更改jsp编码方式
Window – Preference – 搜索jsp – encoding – Chinese – jsp页面encoding = GB18030可以直接在里面写中文
struts1和2的一个重要区别:
struts1里面action只有一个,会出现线程同步的问题;
struts2里面每次访问action都会创建一个新的,所以不会有这个问题。
路径问题的说明
struts2中的路径问题是根据action的路径而不是jsp路径来确定,所以尽量不要使用相对路径。
虽然可以用redirect方式解决,但redirect方式并非必要。
解决办法非常简单,统一使用绝对路径。(在jsp中用request.getContextRoot方式来拿到webapp的路径)
或者使用myeclipse经常用的,指定basePath
<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%> <base href="<%=basePath%>">
DMI动态方法调用
Action执行的时候并不一定要执行execute方法
public class UserAction extends ActionSupport { public String add() { return SUCCESS; }}
可以在配置文件中配置Action的时候用method=来指定执行哪个方法
<action name="userAdd" class="com.bjsxt.struts2.user.action.UserAction" method="add">
也可以在url地址中动态指定(动态方法调用DMI)(推荐)
<action name="user" class="com.bjsxt.struts2.user.action.UserAction">
前者会产生太多的action,所以不推荐使用
通配符配置
使用通配符,将配置量降到最低
不过,一定要遵守”约定优于配置”的原则
用action的属性接收参数
重要的是set/get方法中的名字和传递参数的语句的属性的名字对应上
public String getName() { return name; } public void setName(String name) { this.name = name; }
<a href="user/user!add?name=a&age=8">
用DomainModel接收参数
域模型:真正存在的实体概念
简单理解就是把属性封装成一个对象,再使用对象。
用modelDriven接收参数
实现了modelDriven接口:模型驱动
model得自己new,不会自动new了
JUDE(Java and UML Developers’ Environment),一个小巧实用的UML建模软件,不到2M,绝对可以符合UML建模的要求
- SSH框架学习之Struts2(2):接收参数
- Struts2学习笔记系列之参数接收
- Struts2学习之Action接收参数方法一(属性接收参数(属性驱动))
- Struts2学习之Action接收参数方法二(用DomainModel接收参数(模型驱动))
- SSH与SSM学习之Struts209——OGNL表达式与Struts框架结合参数接收
- 学习SSH三大框架(一)之struts2起步
- SSH框架学习之Struts2(1):Hello World
- HttpClient+json发送和接收参数——基于struts2或者ssh等框架
- HttpClient+List<NameValuePair>发送和接收参数——基于struts2或者ssh等框架
- struts2 之 action接收参数
- Struts2学习之常用配置及action接收参数
- struts2学习_第四天(参数接收)
- 暑期ssh框架之struts2学习笔记一
- 暑期ssh框架之struts2学习笔记二
- 暑期ssh框架之struts2学习笔记三
- Struts2(一)接收参数
- Struts2学习(九)【OGNL表达式与Struts框架结合参数接收】
- Struts2 学习笔记 —— 08 —— Action接收参数(2)
- Spark GBDT
- centos7.2 安装tomcat7
- 基于RTP的FEC前向丢错算法简介
- 技术分享连载(四十五)
- Linux 用户与组的概念
- SSH框架学习之Struts2(2):接收参数
- JQ控制input只能输入小数点后两位
- iOS socket连接打印机打印小票
- 高精模板
- hadoop中mr程序部署上系统时报”拒绝连接“的错误
- EasyUI中datagrid的样式
- Hello World Kotlin
- 项目:对于Servlet中 request.setAttribute()的使用
- spring cloud使用hystrix实现断路保护机制