1.
服务器端跳转,地址栏不改变。/DemoJsp1. jsp
传值的方法:
地址栏写:http://localhost:8080/strutsdemo/hoho/s1 t=1
JSP页面写:
struts.xml里写:
就可接收到参数,因为服务器跳转,他们共用valueStack里的内容。2./DemoJsp1.jsp
客户端跳转,地址栏改变。/DemoJsp2.jsp
传值的方法:
地址栏写:http://localhost:8080/strutsdemo/hoho/s2 t=1
struts.xml里写:
因为是客户端跳转,不存在ValueStack,所以把t的内容保存到Stack Context的parameters里了,通过#parameters.r就可调出该值。/DemoJsp2.jsp r=${t}
下面两种方法传值同上。
3.
可跳转至action,服务端跳转,地址栏不改变。s1 /hoho
4.
可跳转至action,客户端跳转,地址栏改变。可以在packaage里配置公共的Result,不用写action。我的类中是这样写的s2 /hoho
/DemoJsp3.jsp
package com.struts.app;
import com.opensymphony.xwork2.ActionSupport;
public class Demo1 extends ActionSupport{
private int t;
public int getT() {
return t;
}
public void setT(int t) {
this.t = t;
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
if(t==1){
return SUCCESS;
}else{
return "main";
}
}
}
所以只要我输入的t不等于1,就返回main。就会调用global-result如果一个包中想调用别的包里的global-result,就修改package里的extends内容
包rr想用hoho的global-result就把extends修改成hoho.在大型项目中,多人可继承一个公共的result,就用这种方法。/DemoJsp3.jsp /DemoJsp1.jsp /DemoJsp2.jsp