struts-default.xml中的result配置

 <package name="struts-default" abstract="true">
        <result-types><!--配置Action链结果类型-->
            <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>

          <!--配置默认结果类型,用于整合jsp的result-->
            <result-type name="dispatcher" class="org.apache.struts2.dispatcher.ServletDispatcherResult" default="true"/><!--default为true指定result类型为sstruts2的默认结果类型-->
       <!--配置支持freemarker结果类型,用于整合FreeMarker的result-->          

  <result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/>
      <!--配置特殊http请求结果类型,用于处理特殊HTTP行为的result-->          

  <result-type name="httpheader" class="org.apache.struts2.dispatcher.HttpHeaderResult"/>
    <!--配置重定向结果类型-->          

  <result-type name="redirect" class="org.apache.struts2.dispatcher.ServletRedirectResult"/>

           <!--配置重定向action结果类型--〉
            <result-type name="redirectAction" class="org.apache.struts2.dispatcher.ServletActionRedirectResult"/>

       <!--配置stream结果类型,用于向浏览器返回一个Inputstream-->
            <result-type name="stream" class="org.apache.struts2.dispatcher.StreamResult"/>
            <!--配置支持velocity结果类型-->

<result-type name="velocity" class="org.apache.struts2.dispatcher.VelocityResult"/>
             <!--配置支持xslt结果类型-->

<result-type name="xslt" class="org.apache.struts2.views.xslt.XSLTResult"/>
           <!--配置支持plainText结果类型-->         

   <result-type name="plainText" class="org.apache.struts2.dispatcher.PlainTextResult" />
        </result-types>

 

 redirect和dispatcher类型的最大区别就是转向和重定向的区别.重定向将会丢失所有的参数、值zai和请求属性,即同时丢失了action的处理结果。而dispatcher类形式转发,将会把上述的所有数据资源转发给视图资源。

 

要想深入了解各种结果类型的内容,可参考对应类的源代码,这些类一般包含了doExecute()方法。

 

再struts2的lib目录中有"plugin“字样的Jar文件,这些文件就是相关产品的插件。每个插件都有一个struts-plugin.xml配置文件。这些配置文件会被struts2自动加载。

 

 

使用OGNL动态配置result

<action name="Login_Bank" class="bank.Login_Bank">
   <result name="success">/bank/${bankname}.jsp</result>
  </action>
  <action name="Login_*" class="bank.Login_{1}">
   <result name="success">/bank/{1}.jsp</result>
  </action>

 

jsp页面加入bankname的文本输入框。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>用户登录界面</title>
<s:head />
</head>
<body>
<table>
<s:form id="id" action="Login_Bank.action">
    <s:textfield name="username" label="登录名称:"/>
    <s:textfield name="bankname" label="银行名称:"/>
    <s:password name="password" label="密码:"/>
    <s:submit value="登录"/>
</s:form>
</table>
</body>
</html>

action实现类同样增加bankname属性:

package bank;

import com.opensymphony.xwork2.ActionSupport;

public class Login_Bank extends ActionSupport {
 private String username;
 private String password;
 private String  msg;
 private String bankname;

 public String getMsg() {
  return msg;
 }

 public void setMsg(String msg) {
  this.msg = msg;
 }

 public String getUsername() {
  return username;
 }

 public void setUsername(String username) {
  this.username = username;
 }

 public String getPassword() {
  return password;
 }

 public void setPassword(String password) {
  this.password = password;
 }
 public String execute() throws Exception {
  // 返回信息
  setMsg(username+"登录"+bankname+"成功!");
  return SUCCESS;
 }

 public String getBankname() {
  return bankname;
 }

 public void setBankname(String bankname) {
  this.bankname = bankname;
 }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值