l Result类型 type=” ? ”
关于客户端跳转和服务器端跳转,使用客户端跳转,是客户端重定向JSP页面,路径里是jsp的地址
使用服务器跳转,是服务器给客户端一个结果,结果是哪个jsp客户端地址栏看不到。
1.默认的是despatcher
2.其他的有redirect
3.用的多的是
4.其他的类型还有:
Freemarker
Httpheader
Stream
Velocity
Xslt
Plaintext
Tiles
l 跳到另个命名空间的action
Action跳转中,如果要跳转到另一个命名空间或者另一个strut
这个是查文档得到的,查文档的方法:strut
l 全局结果 全局都可以用的result (包内和包外两种)
当很多的action都会用到一个jsp页面的时候,常常把它放在全局结果集中去使用。
==================================================================
当要访问的全局结果不在同一个包下,要访问的时候要修改package的extends:
下面的package被admin的package继承,所以可以访问到下面的global-result了。
u 包外的继承extends,工作中真正的意义:
分模块管理中公共的部分,使用主要配置,其他模块都从这里继承
l 动态结果集
u (可以用属性保存结果,结果可以动态确定,XML中可以用${X}的方法取出)
当我们需要经过判断来确定调用的是哪个JSP的时候,可以使用动态结果集来接受从java文件返回的内容,从而有选择的跳转。
${r}
Type是接受传递过来的的变量,用来判断。
更确切的说法,${r}这种写法,是用于在strut.xml配置文件中,从值栈中取值,它叫OGNL表达式。
值栈--value
Action中的所有属性都会放在值栈中
l 带参数的返回结果集
客户端请求跳转页面方式分两种:客户端跳转,服务器端跳转
客户端跳转,就是客户端发起请求,服务端相应后,客户端再次发起请求。共两次请求。
服务端跳转,就是客户端发起请求,服务端处理所有,直接返回客户端另一个jsp,客户端看不到过程。只有一次请求。
因为服务端中的值栈是共享的,也就是不同的Action可以访问到同一个值栈。
所以如果所有服务,服务端自己处理的时候,没有必要传递参数,因为自己可以访问到。
但是当使用客户端跳转的时候,服务器要求客户端再次发起请求,那就需要带自己的参数了。因为这是两次访问,使用不同值栈。
Action:
Java
访问:
访问后,这个时候将type=1
t
属性中。
Jsp中取这个值的方法:。
Result总结