1. 用json 不能解决的问题
有时我们用java 把json 对象用字符串拼接好后
1) 定义一个inputstream
2)定义Action
package com.bs023.msvs.action;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.struts2.ServletActionContext;
/**
* 测试Action
* @author liuqing
* @version 1.0
*/
public class TestAction {
private String username;
private String password;
//写一个输出流
private InputStream json;
public String add() {
try {
//中文转码问题
this.username = "username _=======222==刘庆==qing";
this.json = new ByteArrayInputStream(this.username.getBytes());
}
catch (Exception e) {
e.printStackTrace();
}
return "add";
}
public OutputStream output() throws IOException {
return ServletActionContext.getResponse().getOutputStream();
}
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 InputStream getJson() {
return json;
}
public void setJson(InputStream json) {
this.json = json;
}
}
2.配置文件
<action name="test" class="testAction" method="add">
<result name="add" type="stream">
<param name="contentType">text/html;charset=UTF-8</param>
<param name="inputName">json</param>
</result>
</action>
3. 运行结果
http://127.0.0.1:8080/upsn/usermanager/test.action
username _=======222==刘庆==qing
4.方法二使用ServletActionContext
package com.bs023.msvs.action;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
/**
* 测试Action
* @author liuqing
* @version 1.0
*/
public class TestAction {
private String username;
private String password;
//写一个输出流
private InputStream json;
public String add() {
try {
PrintWriter out = new PrintWriter(this.output());
out.println("我是中国人");
out.flush();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public OutputStream output() throws IOException {
//通过struts2 调用Response
HttpServletResponse reponse = ServletActionContext.getResponse();
reponse.setContentType("text/html;charset=UTF-8");
return reponse.getOutputStream();
}
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 InputStream getJson() {
return json;
}
public void setJson(InputStream json) {
this.json = json;
}
}
分享到:
相关推荐
json struts2 ajax文件上传 input type=file,选择相同文件也提交,里面附带类库,可以直接运行。使用工具, myeclipse
JAVA Struts2+Spring+Hibernate=SSH框架集成教程(ppt+源代码).zip
2. 使用java.text.MessageFormat中的字符串格式,格式为{ 参数序号(从0开始), 格式类形(number | date | time | choice), 格式样式},例如: validation.between=Date must between {0, date, short} and {1, ...
在struts2中使用result里type="stream"的结果类型时,可以实现文件的下载管理,使用时也是比较顺畅,但是当在“下载提示窗口”中点击“取消按钮”时,总是报出“java.lang.IllegalStateException”异常,异常内容...
<bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="myDefaultActionMapper" class="com.struts2.MyDefaultActionMapper" /> <constant name="struts.mapper.class" value=...
struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别...
在我们做struts2文件下载的时候,经常会遇到这种问题:点“打开/保存”一切正常,但当我们点击“取消”时,却报一堆的异常(其中包括ClientAbortException异常),附件中使用struts2-sunspoter-stream-1.0.jar插件可...
添加struts2-sunspoter-stream-1.1.jar,该版本适用的范围: 1.JDK 1.4.2 2.J2EE 1.4 功能见http://sunspot.blog.51cto.com/372554/474983
struts2实现的学生信息管理系统 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" ...
Struts2文件流方式导出下载excel、Txt、image图片,直接返回给浏览器提示下载,不生成临时文件,直接保存在客户端
Struts2是一套非常优秀的Java WEB应用框架,实现优雅、功能强大、使用简洁。目前已有大量的企业项目采用Struts2来作为Web框架进行开发,掌握Struts2是每个进行Web开发的Java程序员的一项必备技能。 本视频对Struts2...
struts2-core-2.0.1.jar, struts2-core-2.0.11.1.jar, struts2-core-2.0.11.2.jar, struts2-core-2.0.11.jar, struts2-core-2.0.12.jar, struts2-core-2.0.14.jar, struts2-core-2.0.5.jar, struts2-core-2.0.6.jar,...
Struts2拦截器(Interceptor) Struts2拦截器(Interceptor)
struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全...
struts2 资料struts2 资料struts2 资料struts2 资料
struts2 跳转类型 result type chain dispatcher redirect redirect action
struts2 获取request session对象
struts2环境搭建+struts2 新闻发布系统+struts2 留言板 struts2环境搭建:基础框架搭建,简单易上手,...struts2 留言板:struts2+jquery 直接导入myecplise中即可使用,很好用,可以在此基础上添加并完善项目将更完美。
struts 初步认识Struts2并部署验证 struts2 将要进行自定义类型转换的点数据从1个增加到3个 struts3 进行全局的类型转换 struts4 使用Struts2中内部类中的方法进行自定义类型转换,用到的类StrutsTypeConverter ...
Struts2漏洞检查工具2019版 警告: 本工具为漏洞自查工具,请勿非法攻击他人网站! ==漏洞编号==============影响版本=========================官方公告==========================================影响范围====...