﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-xyz's blog-文章分类-我的文章</title><link>http://www.blogjava.net/xyzroundo/category/29115.html</link><description>执着......坚持......</description><language>zh-cn</language><lastBuildDate>Fri, 14 Mar 2008 16:40:06 GMT</lastBuildDate><pubDate>Fri, 14 Mar 2008 16:40:06 GMT</pubDate><ttl>60</ttl><item><title>表单form的enctype="multipart/form-data"使用体会</title><link>http://www.blogjava.net/xyzroundo/articles/186217.html</link><dc:creator>xyz</dc:creator><author>xyz</author><pubDate>Fri, 14 Mar 2008 02:52:00 GMT</pubDate><guid>http://www.blogjava.net/xyzroundo/articles/186217.html</guid><wfw:comment>http://www.blogjava.net/xyzroundo/comments/186217.html</wfw:comment><comments>http://www.blogjava.net/xyzroundo/articles/186217.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xyzroundo/comments/commentRss/186217.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xyzroundo/services/trackbacks/186217.html</trackback:ping><description><![CDATA[by xyz<br />
<br />
在使用表单传送数据的时候，如果form 加了enctype="multipart/form-data" 这个属性，那么表单请求传到另一个jsp或servlet 里时<br />
是不能用request.getParameter()来获取到各个表单元素的值的。<br />
可以通用这样(上传组件提供的API)：<br />
<p>boolean isMultipart = ServletFileUpload.isMultipartContent(request);<br />
&nbsp;if (isMultipart) {<br />
&nbsp;&nbsp;// Create a factory for disk-based file items<br />
&nbsp;&nbsp;org.apache.commons.fileupload.FileItemFactory factory = new DiskFileItemFactory();</p>
<p>&nbsp;&nbsp;// Create a new file upload handler<br />
&nbsp;&nbsp;ServletFileUpload upload = new ServletFileUpload(factory);<br />
&nbsp;&nbsp;// Parse the request<br />
&nbsp;&nbsp;List /* FileItem */items = upload.parseRequest(request);</p>
<p>&nbsp;&nbsp;// Process the uploaded items<br />
&nbsp;&nbsp;Iterator iter = items.iterator();<br />
&nbsp;<br />
&nbsp;&nbsp;while (iter.hasNext()) {<br />
&nbsp;&nbsp;&nbsp;org.apache.commons.fileupload.FileItem item = (org.apache.commons.fileupload.FileItem) iter<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.next();<br />
&nbsp;&nbsp;&nbsp;if (item.isFormField()) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;String name = item.getFieldName();<br />
&nbsp;&nbsp;&nbsp;&nbsp;String value = item.getString("GBK");<br />
&nbsp;&nbsp;&nbsp;&nbsp;//out.println(name + "=" + value);<br />
&nbsp;&nbsp;&nbsp;&nbsp;params.put(name.toUpperCase(), value.trim());<br />
&nbsp;&nbsp;&nbsp;} ......<br />
===============================================================================<br />
使用multipart/form-data上传时，发送的请求和一般的http不一样，需要转化后才能读其他参数。 &nbsp; <br />
&nbsp; &nbsp; <br />
&nbsp; 如果你用spring,它提供一个MultiRequestResolver，只需要： &nbsp; <br />
&nbsp; MultipartHttpServletRequest &nbsp; multipartRequest &nbsp; = &nbsp; (MultipartHttpServletRequest) &nbsp; request; &nbsp; <br />
&nbsp; 然后就能正常读取参数： &nbsp; <br />
&nbsp; multipartRequest.getParameter("xxx"); &nbsp; <br />
&nbsp; &nbsp; <br />
&nbsp; 以下是spring的处理方法，必须首先安装commons-fileupload组件： &nbsp; <br />
&nbsp; &nbsp; <br />
&nbsp; public &nbsp; MultipartHttpServletRequest &nbsp; resolveMultipart(HttpServletRequest &nbsp; request) &nbsp; throws &nbsp; MultipartException &nbsp; { &nbsp; <br />
&nbsp; DiskFileUpload &nbsp; fileUpload &nbsp; = &nbsp; this.fileUpload; &nbsp; <br />
&nbsp; String &nbsp; enc &nbsp; = &nbsp; determineEncoding(request); &nbsp; <br />
&nbsp; &nbsp; <br />
&nbsp; // &nbsp; use &nbsp; prototype &nbsp; FileUpload &nbsp; instance &nbsp; if &nbsp; the &nbsp; request &nbsp; specifies &nbsp; <br />
&nbsp; // &nbsp; its &nbsp; own &nbsp; encoding &nbsp; that &nbsp; does &nbsp; not &nbsp; match &nbsp; the &nbsp; default &nbsp; encoding &nbsp; <br />
&nbsp; if &nbsp; (!enc.equals(this.defaultEncoding)) &nbsp; { &nbsp; <br />
&nbsp; fileUpload &nbsp; = &nbsp; new &nbsp; DiskFileUpload(); &nbsp; <br />
&nbsp; fileUpload.setSizeMax(this.fileUpload.getSizeMax()); &nbsp; <br />
&nbsp; fileUpload.setSizeThreshold(this.fileUpload.getSizeThreshold()); &nbsp; <br />
&nbsp; fileUpload.setRepositoryPath(this.fileUpload.getRepositoryPath()); &nbsp; <br />
&nbsp; fileUpload.setHeaderEncoding(enc); &nbsp; <br />
&nbsp; } &nbsp; <br />
&nbsp; &nbsp; <br />
&nbsp; try &nbsp; { &nbsp; <br />
&nbsp; List &nbsp; fileItems &nbsp; = &nbsp; fileUpload.parseRequest(request); &nbsp; <br />
&nbsp; Map &nbsp; parameters &nbsp; = &nbsp; new &nbsp; HashMap(); &nbsp; <br />
&nbsp; Map &nbsp; multipartFiles &nbsp; = &nbsp; new &nbsp; HashMap(); &nbsp; <br />
&nbsp; for &nbsp; (Iterator &nbsp; it &nbsp; = &nbsp; fileItems.iterator(); &nbsp; it.hasNext();) &nbsp; { &nbsp; <br />
&nbsp; FileItem &nbsp; fileItem &nbsp; = &nbsp; (FileItem) &nbsp; it.next(); &nbsp; <br />
&nbsp; if &nbsp; (fileItem.isFormField()) &nbsp; { &nbsp; <br />
&nbsp; String &nbsp; value &nbsp; = &nbsp; null; &nbsp; <br />
&nbsp; try &nbsp; { &nbsp; <br />
&nbsp; value &nbsp; = &nbsp; fileItem.getString(enc); &nbsp; <br />
&nbsp; } &nbsp; <br />
&nbsp; catch &nbsp; (UnsupportedEncodingException &nbsp; ex) &nbsp; { &nbsp; <br />
&nbsp; logger.warn("Could &nbsp; not &nbsp; decode &nbsp; multipart &nbsp; item &nbsp; '" &nbsp; + &nbsp; fileItem.getFieldName() &nbsp; + &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "' &nbsp; with &nbsp; encoding &nbsp; '" &nbsp; + &nbsp; enc &nbsp; + &nbsp; "': &nbsp; using &nbsp; platform &nbsp; default"); &nbsp; <br />
&nbsp; value &nbsp; = &nbsp; fileItem.getString(); &nbsp; <br />
&nbsp; } &nbsp; <br />
&nbsp; String[] &nbsp; curParam &nbsp; = &nbsp; (String[]) &nbsp; parameters.get(fileItem.getFieldName()); &nbsp; <br />
&nbsp; if &nbsp; (curParam &nbsp; == &nbsp; null) &nbsp; { &nbsp; <br />
&nbsp; // &nbsp; simple &nbsp; form &nbsp; field &nbsp; <br />
&nbsp; parameters.put(fileItem.getFieldName(), &nbsp; new &nbsp; String[] &nbsp; { &nbsp; value &nbsp; }); &nbsp; <br />
&nbsp; } &nbsp; <br />
&nbsp; else &nbsp; { &nbsp; <br />
&nbsp; // &nbsp; array &nbsp; of &nbsp; simple &nbsp; form &nbsp; fields &nbsp; <br />
&nbsp; String[] &nbsp; newParam &nbsp; = &nbsp; StringUtils.addStringToArray(curParam, &nbsp; value); &nbsp; <br />
&nbsp; parameters.put(fileItem.getFieldName(), &nbsp; newParam); &nbsp; <br />
&nbsp; } &nbsp; <br />
&nbsp; } &nbsp; <br />
&nbsp; else &nbsp; { &nbsp; <br />
&nbsp; // &nbsp; multipart &nbsp; file &nbsp; field &nbsp; <br />
&nbsp; CommonsMultipartFile &nbsp; file &nbsp; = &nbsp; new &nbsp; CommonsMultipartFile(fileItem); &nbsp; <br />
&nbsp; multipartFiles.put(file.getName(), &nbsp; file); &nbsp; <br />
&nbsp; if &nbsp; (logger.isDebugEnabled()) &nbsp; { &nbsp; <br />
&nbsp; logger.debug("Found &nbsp; multipart &nbsp; file &nbsp; [" &nbsp; + &nbsp; file.getName() &nbsp; + &nbsp; "] &nbsp; of &nbsp; size &nbsp; " &nbsp; + &nbsp; file.getSize() &nbsp; + &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; " &nbsp; bytes &nbsp; with &nbsp; original &nbsp; filename &nbsp; [" &nbsp; + &nbsp; file.getOriginalFilename() &nbsp; + &nbsp; "], &nbsp; stored &nbsp; " &nbsp; + &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; file.getStorageDescription()); &nbsp; <br />
&nbsp; } &nbsp; <br />
&nbsp; } &nbsp; <br />
&nbsp; } &nbsp; <br />
&nbsp; /***** &nbsp; 注意 &nbsp; parameters &nbsp; 就是普通的text之类的字段的值 &nbsp; *****/ &nbsp; <br />
&nbsp; return &nbsp; new &nbsp; DefaultMultipartHttpServletRequest(request, &nbsp; multipartFiles, &nbsp; parameters); &nbsp; <br />
&nbsp; } &nbsp; <br />
&nbsp; catch &nbsp; (FileUploadBase.SizeLimitExceededException &nbsp; ex) &nbsp; { &nbsp; <br />
&nbsp; throw &nbsp; new &nbsp; MaxUploadSizeExceededException(this.fileUpload.getSizeMax(), &nbsp; ex); &nbsp; <br />
&nbsp; } &nbsp; <br />
&nbsp; catch &nbsp; (FileUploadException &nbsp; ex) &nbsp; { &nbsp; <br />
&nbsp; throw &nbsp; new &nbsp; MultipartException("Could &nbsp; not &nbsp; parse &nbsp; multipart &nbsp; request", &nbsp; ex); &nbsp; <br />
&nbsp; } &nbsp; <br />
&nbsp; }&nbsp;&nbsp; <br />
====================================================================================================<br />
&lt;form&nbsp;name="userInfo"&nbsp;method="post"&nbsp;action="first_submit.jsp"&nbsp;&nbsp;ENCTYPE="multipart/form-data"&gt;<br />
表单标签中设置enctype="multipart/form-data"来确保匿名上载文件的正确编码。<br />
如下：<br />
&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&nbsp;height="30"&nbsp;align="right"&gt;上传企业营业执照图片：&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;INPUT&nbsp;TYPE="FILE"&nbsp;NAME="uploadfile"&nbsp;SIZE="34"&nbsp;&nbsp;onChange="checkimage()"&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&lt;/tr&gt;<br />
就得加ENCTYPE="multipart/form-data"。<br />
表单中enctype="multipart/form-data"的意思，是设置表单的MIME编码。默认情况，这个编码格式是application/x-www-form-urlencoded，不能用于文件上传；只有使用了multipart/form-&nbsp;data，才能完整的传递文件数据，进行下面的操作.<br />
enctype=\"multipart/form-data\"是上传二进制数据;&nbsp;form里面的input的值以2进制的方式传过去。<br />
form里面的input的值以2进制的方式传过去，所以request就得不到值了。&nbsp;也就是说加了这段代码,用request就会传递不成功,<br />
<br />
取表单值加入数据库时，用到下面的：<br />
&nbsp;SmartUpload&nbsp;su&nbsp;=&nbsp;new&nbsp;SmartUpload();//新建一个SmartUpload对象<br />
&nbsp;su.getRequest().getParameterValues();取数组值<br />
&nbsp;su.getRequest().getParameter(&nbsp;);取单个参数单个值</p>
<img src ="http://www.blogjava.net/xyzroundo/aggbug/186217.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xyzroundo/" target="_blank">xyz</a> 2008-03-14 10:52 <a href="http://www.blogjava.net/xyzroundo/articles/186217.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用prototype实现ajax交互中，responseXML的使用体会</title><link>http://www.blogjava.net/xyzroundo/articles/184323.html</link><dc:creator>xyz</dc:creator><author>xyz</author><pubDate>Thu, 06 Mar 2008 10:27:00 GMT</pubDate><guid>http://www.blogjava.net/xyzroundo/articles/184323.html</guid><wfw:comment>http://www.blogjava.net/xyzroundo/comments/184323.html</wfw:comment><comments>http://www.blogjava.net/xyzroundo/articles/184323.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xyzroundo/comments/commentRss/184323.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xyzroundo/services/trackbacks/184323.html</trackback:ping><description><![CDATA[by xyz<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_35_298_Open_Image" onclick="this.style.display='none'; Codehighlighter1_35_298_Open_Text.style.display='none'; Codehighlighter1_35_298_Closed_Image.style.display='inline'; Codehighlighter1_35_298_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_35_298_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_35_298_Closed_Text.style.display='none'; Codehighlighter1_35_298_Open_Image.style.display='inline'; Codehighlighter1_35_298_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;validate(url,updateElemID)</span><span id="Codehighlighter1_35_298_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_35_298_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">window.alert(paras);</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;myAjax</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Ajax.Request(url,<br />
<img id="Codehighlighter1_96_271_Open_Image" onclick="this.style.display='none'; Codehighlighter1_96_271_Open_Text.style.display='none'; Codehighlighter1_96_271_Closed_Image.style.display='inline'; Codehighlighter1_96_271_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_96_271_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_96_271_Closed_Text.style.display='none'; Codehighlighter1_96_271_Open_Image.style.display='inline'; Codehighlighter1_96_271_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_96_271_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_96_271_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">method:'get',</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;method:'post',<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">parameters:&nbsp;paras,&nbsp;//不知怎么回事这个parameter总是传不过去&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br />
<img id="Codehighlighter1_225_268_Open_Image" onclick="this.style.display='none'; Codehighlighter1_225_268_Open_Text.style.display='none'; Codehighlighter1_225_268_Closed_Image.style.display='inline'; Codehighlighter1_225_268_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_225_268_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_225_268_Closed_Text.style.display='none'; Codehighlighter1_225_268_Open_Image.style.display='inline'; Codehighlighter1_225_268_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;onComplete:</span><span style="color: #0000ff">function</span><span style="color: #000000">(originalRequest)</span><span id="Codehighlighter1_225_268_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_225_268_Open_Text"><span style="color: #000000">{showResponse(originalRequest,updateElemID)}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_345_1309_Open_Image" onclick="this.style.display='none'; Codehighlighter1_345_1309_Open_Text.style.display='none'; Codehighlighter1_345_1309_Closed_Image.style.display='inline'; Codehighlighter1_345_1309_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_345_1309_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_345_1309_Closed_Text.style.display='none'; Codehighlighter1_345_1309_Open_Image.style.display='inline'; Codehighlighter1_345_1309_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;showResponse(originalRequest,elemID)</span><span id="Codehighlighter1_345_1309_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_345_1309_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">var&nbsp;html&nbsp;=&nbsp;originalRequest.responseText;</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">var&nbsp;html=originalRequest.responseXML.getElementsByTagName("dd")[1].firstChild.data;</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">$(elemID).innerHTML&nbsp;=&nbsp;html;</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;isShowDiv=originalRequest.responseXML.getElementsByTagName("res")[0].firstChild.data;&nbsp;&nbsp;</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window.alert(isShowDiv);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;$("jobType").style.display=isShowDiv;</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;myDocument&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ActiveXObject(</span><span style="color: #000000">"</span><span style="color: #000000">Microsoft.XMLDOM</span><span style="color: #000000">"</span><span style="color: #000000">)&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">myDocument.async="false";&nbsp;</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;myDocument.loadXML(originalRequest.responseText);&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;window.alert(myDocument);&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;myRoot&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;myDocument.documentElement;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;window.alert(myRoot);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;isShowDiv</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;myRoot.getElementsByTagName(</span><span style="color: #000000">"</span><span style="color: #000000">res</span><span style="color: #000000">"</span><span style="color: #000000">)[</span><span style="color: #000000">0</span><span style="color: #000000">].firstChild.data;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;html</span><span style="color: #000000">=</span><span style="color: #000000">myRoot.getElementsByTagName(</span><span style="color: #000000">"</span><span style="color: #000000">font</span><span style="color: #000000">"</span><span style="color: #000000">)[</span><span style="color: #000000">0</span><span style="color: #000000">].firstChild.data;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">window.alert(isShowDiv);</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">window.alert(html);</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;$(elemID).innerHTML&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;font&nbsp;color='red'&gt;</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">html</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">&lt;/font&gt;</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="color: #000000">"</span><span style="color: #000000">jobType</span><span style="color: #000000">"</span><span style="color: #000000">).style.display</span><span style="color: #000000">=</span><span style="color: #000000">isShowDiv;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;}</span></span></div>
<br />
今天使上面这段代码，想从服务端转两段数据过来，一段用来显示白提示，一段用来控制一个div的显示和隐藏。所以我想到了传一个responseXML<br />
结果在调试中出现很多问题，显示不出来，搞了半天，分析总结了如下：<br />
1、在服务器必须写成xml文件格式，还不能用写两个out.println()语句来写那两段文字，必须写能一段XML文件，用两个的子节点来写那两段文字。<br />
2、在jsp页面上显示时，要这样写才能获取到documentElement<br />
&nbsp; var myDocument = new ActiveXObject("Microsoft.XMLDOM")&nbsp;<br />
&nbsp;&nbsp;&nbsp; myDocument.async="false"; <br />
&nbsp;&nbsp;&nbsp; myDocument.loadXML(originalRequest.responseText);&nbsp; <br />
&nbsp; window.alert(myDocument); <br />
&nbsp;&nbsp;&nbsp; var myRoot = myDocument.documentElement; <br />
在页面上getElementsByTagName("font")[0].firstChild.data;的时一定要get在服务端有写的元素，不然也会导致其它正确的显示不出来。<br />
<img src ="http://www.blogjava.net/xyzroundo/aggbug/184323.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xyzroundo/" target="_blank">xyz</a> 2008-03-06 18:27 <a href="http://www.blogjava.net/xyzroundo/articles/184323.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>