1.默认配置下的excute方法传值
这种方法很常见,大家基本上也都使用这一种最基本的方式,如:
2.经过自定义配置的action和页面间的传值
在struts.xml中的action配置如下:
<action name="*/*/*" class="{2}Action" method="{3}">
<result name="{3}" type="httl">/{1}/{2}.httl</result>
</action>
代码解析:
如图中people.httl的页面,它的访问路径为:http://localhost:8080/工程名/changtop/top/view.do
它对应的Action的名子应为TopAction。
调用这一链接就直接进入TopAction中的view()方法中。
然而,在该页面中进行后台的操作,又要调用TopAction中的其他方法时,就需要在form表单的action中写入要调用的方法。
3.action读取url的参数
调用http://localhost:8080/工程名/changtop/top/view.do?name=123
public String view() {
ActionContext cxt = ActionContext.getContext();
HttpServletRequest request = (HttpServletRequest)cxt.get(ServletActionContext.HTTP_REQUEST);
String name = (String)request.getAttribute("name"); //获取名为attrName的request属性的值
project = dao.findByName(name);
this.model = project;
return "view";
}
该方法就会向数据库中查找name=123的project 并返回给页面。
model是在BaseAction中定义的属性,会直接映射到前端的页面,如${model.name}。