structs2学习笔记(12.17)

1.result是action标签的一个子节点,用来表示执行完action后可能转到的jsp界面

  一个action节点可以有多个result节点,

  result的name属性值可能对应action方法的可能有的一个返回值。(在java代码中控制)

  result的type属性值表示响应结果的类型。(在structs-default包中看)。


在java代码中:


action配置:


result type属性说明

chain    
   
    用来处理Action链,被跳转的action中仍能获取上个页面的值,如request信息。    
   
    com.opensymphony.xwork2.ActionChainResult    
   
dispatcher    
   
    用来转向页面,通常处理JSP    
   
    org.apache.struts2.dispatcher.ServletDispatcherResult    
   
freemaker
    
   
    处理FreeMarker模板    
   
    org.apache.struts2.views.freemarker.FreemarkerResult    
   
httpheader    
   
    控制特殊HTTP行为的结果类型    
   
    org.apache.struts2.dispatcher.HttpHeaderResult    
  

stream    
   
    向浏览器发送InputSream对象,通常用来处理文件下载,还可用于返回AJAX数据    
   
    org.apache.struts2.dispatcher.StreamResult    
   
velocity    
   
    处理Velocity模板    
   
    org.apache.struts2.dispatcher.VelocityResult    
   
xslt    
   
    处理XML/XLST模板    
   
    org.apache.struts2.views.xslt.XSLTResult    
   
plainText    
   
    显示原始文件内容,例如文件源代码    
   
    org.apache.struts2.dispatcher.PlainTextResult    
   
  
plaintext    
   
    显示原始文件内容,例如文件源代码    
   
    org.apache.struts2.dispatcher.PlainTextResult 

 

redirect    
   
    重定向到一个URL ,被跳转的页面中丢失传递的信息,如request   
   
    org.apache.struts2.dispatcher.ServletRedirectResult    
   
redirectAction
    
   
    重定向到一个Action ,跳转的页面中丢失传递的信息,如request      
   
    org.apache.struts2.dispatcher.ServletActionRedirectResult    
   
redirect-action    
   
    重定向到一个Action ,跳转的页面中丢失传递的信息,如request      
   
    org.apache.struts2.dispatcher.ServletActionRedirectResult 

   
注:redirect与redirect-action区别

一、使用redirect需要后缀名 使用redirect-action不需要后缀名 
二、type="redirect" 的值可以转到其它命名空间下的action,而redirect-action只能转到同一命名空下的 action,因此它可以省略.action的后缀直接写action的名称。

如:

<result name="success" type="redirect">viewTask.action</result> 
<result name="success" type="redirect-action">viewTask</result>

附:redirect-action 传递参数

 
  1. <action name="enterpreinfo" class="preinfoBusinessAction"    method="enterPreinfoSub">  
  2.   <result name="success" type="redirect-action">  
  3.      showpreinfo?preinfo.order_number=${preinfo.order_number}&amp;preinfo.company_name=${preinfo.company_name}   
  4.   </result>  
  5.  <result name="error" type="redirect">  
  6.     <param name="location">/error.jsp</param>  
  7.  </result>  
  8. </action>  

   因为使用了redirect-action,所以要注意不能将 showpreinf?preinfo.order_number=${preinfo.order_number}写成 showpreinf.action?preinfo.order_number=${preinfo.order_number}

其中${}为EL表达式,获取action:enterpreinfo中属性的值在这个配置文件里,多个参数的连接符使用了"&amp;",但XML的语法规范,应该使用"&amp;"代替"&",原理和HTML中的转义相同,开始没有注意,在struts分析配置文件时,总是报出这样的错误:

json   一般很容易忽略的一个地方(在EXT中非常有用)
示例
  
  
[c-sharp] view plaincopy
  1. <package name="struts2" extends="json-default" namespace="/">  
  2.         <action name="login" class="loginAction" method="login">  
  3.             <result type="json">  
  4.                 <param name="includeProperties">success,result</param>                
  5.             </result>               
  6.         </action>  
  7.         <action name="main" class="loginAction" method="main">  
  8.             <result name="main">/index.jsp</result>           
  9.         </action>   
  10.     </package>  
  
  
  1. private boolean success  = true;  
  2. private String result = "main.action";  
  3. //getter和setter方法略  
以上的success和result互相对应到了
  
  
[xhtml] view plaincopy
  1. <param name="includeProperties">success,result</param>    
struts2会根据其设置的值匹配跳转
对于json一般情况下很少用到,但是在处理ext的时候会用到这个属性类型,这个地方也是经常被忽略的。

node-v12.17.0-x64.msi是Node.js的安装程序文件。Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,它允许开发人员在服务器端运行JavaScript代码。这个特性使得开发人员能够使用一种语言来构建整个应用程序,从前端到后端。Node.js在Web开发、网络应用、IoT设备和命令行工具等领域都有广泛的应用。 node-v12.17.0-x64.msi是适用于Windows操作系统的Node.js安装程序。其中的"v12.17.0"代表Node.js的版本号,"x64"表示适用于64位的Windows操作系统。这个.msi文件是一种Windows安装程序,点击后会引导用户一步一步地安装Node.js到用户的计算机中。 安装Node.js可以为开发人员提供一些重要的功能。首先,它允许开发人员在服务器端运行JavaScript代码,从而实现更高效和更快速的服务器应用程序。其次,Node.js具有非阻塞I/O模型,这意味着它能够处理大量并发请求而不降低性能。此外,Node.js拥有一个庞大的模块库,开发人员可以使用这些模块来简化开发过程,加快开发速度。最后,Node.js在社区中具有广泛的支持和活跃的开发者社区,这意味着开发人员可以轻松地获取到解决问题的资源和帮助。 总之,node-v12.17.0-x64.msi是Node.js在Windows操作系统上的安装程序文件,通过安装Node.js,开发人员可以利用JavaScript语言来构建高效、快速和可扩展的服务器端应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值