WEB开发网
开发学院网页设计JavaScript 基于struts的web应用开发总结(一) 阅读

基于struts的web应用开发总结(一)

 2009-09-06 00:00:00 来源:WEB开发网   
核心提示: 八:jsp端与action端交互,常常用如下方法:(1).前台发送一个ajax请求,基于struts的web应用开发总结(一)(4),后台处理请求后返回一个jsp页面,前台用得到的jsp页面的html代码赋值给需要显示的元素,而不能只是能过request.getParameter()来取值,(如

八:

jsp端与action端交互,常常用如下方法:

(1).前台发送一个ajax请求,后台处理请求后返回一个jsp页面,前台用得到的jsp页面的html代码赋值给需要显示的元素,如div等。如:

Js代码

    pars = "ENGAGE_INFO_ID="+$F("ENGAGE_INFO")+"&ENGAGE_DTS_IDLIST="+projCommJs.getCheckboxValue(); 
    new Ajax.Request(this.modulePath+"addtoInfo.do",{ 
      parameters:pars, 
      onCreate:function(){ 
      }, 
       onComplete:function(returnStr){ 
$("Engagediv").innerHTML = returnStr.responseText; 
         $("btnRefresh").fireEvent("onclick"); 
       } 
     }   
    );

(2).前台发送一个ajax请求,后台处理请求后并不是返回一个jsp页面,而是构造一个html代码,再把这个html代码发送到前台。

Java代码  

public static void responseText(HttpServletResponse res, String s){ 
    //指定内容类型 
    res.setContentType("text/html;charset=GBK"); 
    //禁止缓存 
    res.setHeader("Pragma","No-cache"); 
     res.setHeader("Cache-Control","no-cache"); 
     res.setDateHeader("Expires", 0); 
    try { 
      PrintWriter out = res.getWriter(); 
      out.print(s); 
      out.close(); 
    } 
    catch (IOException e) { 
      e.printStackTrace(); 
    } 
  } 

3).前台发送请求,后台把需要在前台显示的值放在request或session中,前台可以用标准的jsp标签或自定义标签来分析request或session中的值来进行显示。这部分的内容可以看看书jsp与servlet的书,如:oreilly.JSP设计第二版等书。

九:

在前台发送ajax请求时,参数如果是一个表单,表单里有很多的元素,这时候不需要一个个去写,可以用Form.serialize(),如下:

Js代码

var pars = encodeURI(Form.serialize(document.forms[0])); 

用这种方式传递到action端后,因为参数是经过编码的,所以,在action端需要解码,而不能只是能过request.getParameter()来取值。(如果前台是如form.submit()或是没有编码的参数传递过来就不需要),要不然汉字会是乱码。如下:

Java代码

  private String urlDecode(String str) throws Exception{ 
    try{ 
      str = java.net.URLDecoder.decode(str, "UTF-8");       
    }catch (Exception ex){ 
      System.out.println(ex.getMessage()); 
      ex.printStackTrace(); 
    } 
    return str; 
  } 

编缉推荐阅读以下文章

  • 基于struts的web应用开发总结(二)

上一页  1 2 3 4 

Tags:基于 struts web

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接