struts返回( return)的问题
来源:互联网 发布:mac ruby woo试色 编辑:程序博客网 时间:2024/05/13 05:21
整理了网上的一些资料
附上一些链接:
1)struts.xml的常用配置解析
http://www.java3z.com/cwbwebhome/article/article2/TestS3.html
2)struts返回数据
http://www.360doc.com/content/08/1128/11/61497_2010494.shtml
1.最基本的,如果执行完struts2的函数后想跳转到另一个页面,则在struts.xml里配置
<package name="struts2" extends="struts-default">//name没有特定的要求用什么,一般是便于理解意思
<action name="example" class="xxx.xxx" >
<result name="success" >xxx.jsp</result>
</action>
</package>
不得不说一下 result的 type属性了:默认是:”dispatcher“
chain
用来处理Action链
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
redirect
重定向到一个URL
org.apache.struts2.dispatcher.ServletRedirectResult
redirectAction
重定向到一个Action
org.apache.struts2.dispatcher.ServletActionRedirectResult
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
redirect-action
重定向到一个Action
org.apache.struts2.dispatcher.ServletActionRedirectResult
plaintext
显示原始文件内容,例如文件源代码
org.apache.struts2.dispatcher.PlainTextResult
对于每一个type的具体应用,还没大弄懂,想用的时候网上应该能搜到。
2.如果想从struts只返回数据,页面不进行跳转(一般用ajax异步交换)
方法一:引入json-plugin.jar包
struts.xml按如下方式配置
<package name="json" extends="json-default">
<action name="example" class="xxxAction" >
<result name="" type="json"></result>
</action>
</package>
方法二:将action 方法的return 值设定为null,将要返回的数据通过out.print或者。print.用个例子来说明吧。
@Override
public String execute() throws Exception {
data=new ArrayList<String>();
data.add("you and me");
data.add("he and she");
String test="test";
HttpServletResponse response=ServletActionContext.getResponse();
response.setContentType("text/html;charset=GBK");
PrintStream out=new PrintStream(response.getOutputStream());
out.print(data);
out.print(test);
//或者
ServletActionContext.getResponse().getWriter().write(data.toString());
return null;
}
对应的struts.xml文件配置如下:
<package name="struts2" extends="struts-default">
<action name="example" class="xxxAction" >
<result></result>
</action>
</package>
说明:
方法二,在js前端得到的是string,你可以在前端将string转化为你想要的数据格式(比如json),例如对于jQuery可以使用jqGrid插件的方式
前端采用ajax(可以选择jQuery,ExtJS,dwr等,都对ajax进行了很好的封装)
还有待完善,求指导
- struts返回( return)的问题
- struts的return返回类型。【转载未测试】
- C/C++ return返回值的问题
- finally里面的return返回值问题
- 请问关于 返回 return的问题
- JavaScript中return返回函数的问题
- python:关于函数返回return的问题
- 关于拦截器的return 返回值问题。
- linux中errno的使用以及return返回值问题
- return与finally的执行顺序与返回值问题
- return 的返回值作用,
- return返回值的作用
- vfork 挂掉的一个问题拓展实验一 (子进程使用return返回时候的栈帧)
- try-catch-finally-return返回值问题
- C++ return返回值小问题
- stringWithUTF8String return null (返回null)的解决办法
- return ; 这个语句有问题吗?如果没有问题,那返回的是什么?
- if()return;的一点小问题
- Linux 文件类型、文件扩展名、文件系统
- mybatis 初学 小例子
- 【转】进程间通信实例5> 读写者锁的用法
- eclipse spring xml 无提示解决
- HttpUtil
- struts返回( return)的问题
- 寻找素数
- 【转】Linux线程同步(3): 读写锁(rwlock)
- android map
- WD align
- row_number()
- TopCoder入门教程 -- sqybi完善版
- Android 开发环境
- Linux基础之Poechant问题解决与技巧集锦:Linux 查看文件里有多少行 wc命令