关于java的异步刷新解决方法
关于java的异步刷新
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;
public class StreamResultAction extends ActionSupport {
private static final long serialVersionUID = 1060242513636868903L;
private String cname;
private InputStream inputStream; // result类型为stream时,系统需要通过一个InputStream获取结果
public String searchCustomerAddress(){
// 此处只是模拟一个业务逻辑,表示通过客户名称获取客户地址
Map<String,String> map = new HashMap<String,String>();
map.put("mike", "Beijing");
map.put("john", "Shanghai");
map.put("jack", "guangzhou");
String addr = map.get(cname);
inputStream = new ByteArrayInputStream(addr.getBytes());
return Action.SUCCESS;
}
这段代码不是很理解有人帮忙解决一下吗? 谢谢噢。。。
------解决方案--------------------
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;
public class StreamResultAction extends ActionSupport {
private static final long serialVersionUID = 1060242513636868903L;
private String cname;
private InputStream inputStream; // result类型为stream时,系统需要通过一个InputStream获取结果
public String searchCustomerAddress(){
// 此处只是模拟一个业务逻辑,表示通过客户名称获取客户地址
Map<String,String> map = new HashMap<String,String>();
map.put("mike", "Beijing");
map.put("john", "Shanghai");
map.put("jack", "guangzhou");
String addr = map.get(cname);
inputStream = new ByteArrayInputStream(addr.getBytes());
return Action.SUCCESS;
}
这段代码不是很理解有人帮忙解决一下吗? 谢谢噢。。。
------解决方案--------------------
- Java code
import java.io.ByteArrayInputStream; import java.io.InputStream; import java.util.HashMap; import java.util.Map; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionSupport; public class StreamResultAction extends ActionSupport { private static final long serialVersionUID = 1060242513636868903L; private String cname; private InputStream inputStream; // result类型为stream时,系统需要通过一个InputStream获取结果 public String searchCustomerAddress(){ // 此处只是模拟一个业务逻辑,表示通过客户名称获取客户地址 Map<String,String> map = new HashMap<String,String>(); //new 一个 hashmap map.put("mike", "Beijing"); //按照key:value 往map里塞值 map.put("john", "Shanghai");//按照key:value 往map里塞值 map.put("jack", "guangzhou");//按照key:value 往map里塞值 String addr = map.get(cname); //从map里取到key 为 cname的value inputStream = new ByteArrayInputStream(addr.getBytes()); //创建输入流 return Action.SUCCESS; //跳到 success }
------解决方案--------------------
代码没看出做什么什么有用的操作
------解决方案--------------------
1 这个应该是Struts2处理的。
2 把这个Map放入了InputStream,然后通过StreamResult进行处理的(类似与struts2的下载。 可以看到 strtus.xml中配置的success 处理方式是 type=stream 懂?)
3 前台 页面 js 可以接受这个流。。。处理。
4 给点建议: 为什么不用dwr?非要写流里面自个处理?