<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>IT北瓜 &#187; Json</title>
	<atom:link href="http://imleeo.com/category/java/json/feed" rel="self" type="application/rss+xml" />
	<link>http://imleeo.com</link>
	<description>关注jQuery,关注java,关注计算机应用,关注生活...</description>
	<lastBuildDate>Tue, 06 Jul 2010 05:30:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Struts2+json+jQuery上传文件在Firefox和IE下返回结果截然不同</title>
		<link>http://imleeo.com/jquery/different-results-in-firefox-an-ie-of-fileupload-using-struts2-and-json-and-jquery.html</link>
		<comments>http://imleeo.com/jquery/different-results-in-firefox-an-ie-of-fileupload-using-struts2-and-json-and-jquery.html#comments</comments>
		<pubDate>Fri, 23 Oct 2009 09:04:00 +0000</pubDate>
		<dc:creator>IT北瓜</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Json]]></category>
		<category><![CDATA[Struts2]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[应用实例]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[ajax文件上传]]></category>
		<category><![CDATA[fileUpload]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[下载对话框]]></category>

		<guid isPermaLink="false">http://imleeo.com/jquery/different-results-in-firefox-an-ie-of-fileupload-using-struts2-and-json-and-jquery.html</guid>
		<description><![CDATA[<p>&#160;&#160;&#160;&#160;&#160; 在Struts2中利用json格式返回数据，struts.xml文件配置如下：</p>

<pre><span style="color: #0000ff">&#60;</span><span style="color: #800000">package</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">&#34;struts2json&#34;</span> <span style="color: #ff0000">extends</span>=<span style="color: #0000ff">&#34;json-default&#34;</span><span style="color: #0000ff">&#62;</span>
	<span style="color: #008000">&#60;!-- jsonfilm --&#62;</span>
	<span style="color: #0000ff">&#60;</span><span style="color: #800000">action</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">&#34;jsonFilm&#34;</span> <span style="color: #ff0000">class</span>=<span style="color: #0000ff">&#34;film&#34;</span><span style="color: #0000ff">&#62;</span>
		<span style="color: #0000ff">&#60;</span><span style="color: #800000">result</span> <span style="color: #ff0000">type</span>=<span style="color: #0000ff">&#34;json&#34;</span><span style="color: #0000ff">&#62;</span>
			<span style="color: #0000ff">&#60;</span><span style="color: #800000">param</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">&#34;excludeProperties&#34;</span><span style="color: #0000ff">&#62;</span>.*hibernateLazyInitializer,pageBean,film<span style="color: #0000ff">&#60;/</span><span style="color: #800000">param</span><span style="color: #0000ff">&#62;</span>
		<span style="color: #0000ff">&#60;/</span><span style="color: #800000">result</span><span style="color: #0000ff">&#62;</span>
	<span style="color: #0000ff">&#60;/</span><span style="color: #800000">action</span><span style="color: #0000ff">&#62;</span>
<span style="color: #0000ff">&#60;/</span><span style="color: #800000">package</span><span style="color: #0000ff">&#62;</span></pre>

<p>而表单利用jquery.form.js插件提供的ajax方式来提交，javascript代码如下：</p>

<div class="posturl"><span><span class="r1"></span><span class="r2"></span><span class="r3"></span><span class="r4"></span></span><div class="posturl-content">
关联文章导读：<ol><li><a href='http://imleeo.com/java/struts2-flashfileupload-fileupload-and-generate-thumbnails-and-add-watermarks.html' rel='bookmark' title='Permanent Link: Struts2+FlashFileUpload文件上传并生成缩略图和添加水印'>Struts2+FlashFileUpload文件上传并生成缩略图和添加水印</a> <small>&#160;&#160;&#160;&#160;&#160; 以前用过SWFUpload，功能确实很强大。javaeye上有人发布了这样一篇文章step-by-step多文件WEB批量上传(swfupload)的完美解决方案有兴趣的朋友可以看一下。Leeo觉得SWFUpload稍微不足的就是界面的定制，总感觉自己定制出来的界面有点难登大雅之堂。下面Leeo为大家介绍一下，如何使用FlashFileUpload这个Flash组件来实现多文件上传，并且通过java程序自动生成缩略图和添加水印，FlashFileUpload定制出来的界面还是挺漂亮的（PS：这个界面是Leeo从UUShare上弄下来的，^_^），先来Show一张效果图： ...</small></li>
<li><a href='http://imleeo.com/java/hibernate3-3-2-spring2-5-6-struts2-1-6.html' rel='bookmark' title='Permanent Link: Hibernate3.3.2+Spring2.5.6+Struts2.1.6整合异常解决&mdash;&mdash;不断更新'>Hibernate3.3.2+Spring2.5.6+Struts2.1.6整合异常解决&mdash;&mdash;不断更新</a> <small>1、org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'sessionFactory' is defined 异常说明：sessionFactory bean未定义 异常原因：applicationContext.xml配置文件中使用其他名字sessionFactory...</small></li>
<li><a href='http://imleeo.com/java/problem-of-jsonplugin-jar-and-struts2-jar-no-match.html' rel='bookmark' title='Permanent Link: jsonplugin包与Struts2包版本匹配问题'>jsonplugin包与Struts2包版本匹配问题</a> <small>今天做项目的时候遇到“java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lang/String;)Ljava/lang/Object;”异常，导致该异常的是jsonplugin的jar包与Struts2的jar包不匹配引起的。 jsonplugin-0.33.jar Struts 2 JSON Plugin 0.33 匹配 Struts 2.1.x Compatible jsonplugin-0.32.jar Struts 2 JSON Plugin 0.32 匹配 Struts...</small></li>
</ol></div><span><span class="r4"></span><span class="r3"></span><span class="r2"></span><span class="r1"></span></span></div>]]></description>
			<content:encoded><![CDATA[<p>&#160;&#160;&#160;&#160;&#160; 在Struts2中利用json格式返回数据，struts.xml文件配置如下：</p>
<pre><span style="color: #0000ff">&lt;</span><span style="color: #800000">package</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">&quot;struts2json&quot;</span> <span style="color: #ff0000">extends</span>=<span style="color: #0000ff">&quot;json-default&quot;</span><span style="color: #0000ff">&gt;</span>
	<span style="color: #008000">&lt;!-- jsonfilm --&gt;</span>
	<span style="color: #0000ff">&lt;</span><span style="color: #800000">action</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">&quot;jsonFilm&quot;</span> <span style="color: #ff0000">class</span>=<span style="color: #0000ff">&quot;film&quot;</span><span style="color: #0000ff">&gt;</span>
		<span style="color: #0000ff">&lt;</span><span style="color: #800000">result</span> <span style="color: #ff0000">type</span>=<span style="color: #0000ff">&quot;json&quot;</span><span style="color: #0000ff">&gt;</span>
			<span style="color: #0000ff">&lt;</span><span style="color: #800000">param</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">&quot;excludeProperties&quot;</span><span style="color: #0000ff">&gt;</span>.*hibernateLazyInitializer,pageBean,film<span style="color: #0000ff">&lt;/</span><span style="color: #800000">param</span><span style="color: #0000ff">&gt;</span>
		<span style="color: #0000ff">&lt;/</span><span style="color: #800000">result</span><span style="color: #0000ff">&gt;</span>
	<span style="color: #0000ff">&lt;/</span><span style="color: #800000">action</span><span style="color: #0000ff">&gt;</span>
<span style="color: #0000ff">&lt;/</span><span style="color: #800000">package</span><span style="color: #0000ff">&gt;</span></pre>
<p>而表单利用jquery.form.js插件提供的ajax方式来提交，javascript代码如下：</p>
<pre><span style="color: #0000ff">var</span> options = {
	url: 'jsonFilm!addFilm.action',
	dataType: 'json',
	beforeSubmit: validateAddFilm,
	success: showResponseAddFilm
};
$('#film-form').submit(<span style="color: #0000ff">function</span>() {
	$(<span style="color: #0000ff">this</span>).ajaxSubmit(options);
	<span style="color: #0000ff">return</span> <span style="color: #0000ff">false</span>;
});
<span style="color: #0000ff">function</span> validateAddFilm(formData, jqForm, options){
	<span style="color: #008000">//验证代码省略...</span>
}
<span style="color: #0000ff">function</span> showResponseAddFilm(jsonData, <span style="color: #0000ff">status</span>){
	<span style="color: #0000ff">alert</span>(<span style="color: #0000ff">status</span>);<span style="color: #008000">//请求结果</span>
}</pre>
<p>由于表单中含有文件域file，并且用json格式来返回请求结果，这种情况下虽然文件能正确上传也能正确写入数据库，但是你会发现一个很让人头疼的问题——前台会弹出一个“下载对话框”。</p>
<p>那么我们就改用另一种方式来上传文件和返回数据，这里用到了ajax-file-upload-plugin-0.4.0.jar这个包，这个包是专门为Struts2利用ajax方式上传文件准备的，struts.xml文件配置如下：</p>
<pre><span style="color: #0000ff">&lt;</span><span style="color: #800000">package</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">&quot;ajaxfileupload&quot;</span> <span style="color: #ff0000">namespace</span>=<span style="color: #0000ff">&quot;/&quot;</span> <span style="color: #ff0000">extends</span>=<span style="color: #0000ff">&quot;ajaxfileupload-default&quot;</span><span style="color: #0000ff">&gt;</span>
	<span style="color: #0000ff">&lt;</span><span style="color: #800000">action</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">&quot;addFilm&quot;</span> <span style="color: #ff0000">class</span>=<span style="color: #0000ff">&quot;film&quot;</span><span style="color: #0000ff">&gt;</span>
		<span style="color: #0000ff">&lt;</span><span style="color: #800000">result</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">&quot;success&quot;</span> <span style="color: #ff0000">type</span>=<span style="color: #0000ff">&quot;httpheader&quot;</span><span style="color: #0000ff">&gt;</span>
			<span style="color: #0000ff">&lt;</span><span style="color: #800000">param</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">&quot;status&quot;</span><span style="color: #0000ff">&gt;</span>200<span style="color: #0000ff">&lt;/</span><span style="color: #800000">param</span><span style="color: #0000ff">&gt;</span>
		<span style="color: #0000ff">&lt;/</span><span style="color: #800000">result</span><span style="color: #0000ff">&gt;</span>
	<span style="color: #0000ff">&lt;/</span><span style="color: #800000">action</span><span style="color: #0000ff">&gt;</span>
<span style="color: #0000ff">&lt;/</span><span style="color: #800000">package</span><span style="color: #0000ff">&gt;</span></pre>
<p>action类中返回return &quot;success&quot;;或者return SUCCESS;</p>
<p>&#160;&#160;&#160;&#160;&#160; 这样前台就不会弹出“下载对话框”了。但却发现一个和奇怪的问题，Firefox下能正确执行options中的success回调函数showResponseAddFilm，但IE下却不能。不过后台的文件上传和数据库操作都是成功的，没有问题。</p>
<p>&#160;&#160;&#160;&#160;&#160; 于是我将options中的success换成了complete，因为complete不管结果如何它都会被执行，而success只有成功时才会被执行。结果发现Firefox下返回的status值为success，而IE下返回的status值却总是error。真是搞不懂怎么回事？所以将情况记录下来，希望哪位能指出问题之所在。</p>


<div class="posturl"><span><span class="r1"></span><span class="r2"></span><span class="r3"></span><span class="r4"></span></span><div class="posturl-content"><p>关联文章导读：<ol><li><a href='http://imleeo.com/java/struts2-flashfileupload-fileupload-and-generate-thumbnails-and-add-watermarks.html' rel='bookmark' title='Permanent Link: Struts2+FlashFileUpload文件上传并生成缩略图和添加水印'>Struts2+FlashFileUpload文件上传并生成缩略图和添加水印</a> <small>&#160;&#160;&#160;&#160;&#160; 以前用过SWFUpload，功能确实很强大。javaeye上有人发布了这样一篇文章step-by-step多文件WEB批量上传(swfupload)的完美解决方案有兴趣的朋友可以看一下。Leeo觉得SWFUpload稍微不足的就是界面的定制，总感觉自己定制出来的界面有点难登大雅之堂。下面Leeo为大家介绍一下，如何使用FlashFileUpload这个Flash组件来实现多文件上传，并且通过java程序自动生成缩略图和添加水印，FlashFileUpload定制出来的界面还是挺漂亮的（PS：这个界面是Leeo从UUShare上弄下来的，^_^），先来Show一张效果图： ...</small></li>
<li><a href='http://imleeo.com/java/hibernate3-3-2-spring2-5-6-struts2-1-6.html' rel='bookmark' title='Permanent Link: Hibernate3.3.2+Spring2.5.6+Struts2.1.6整合异常解决&mdash;&mdash;不断更新'>Hibernate3.3.2+Spring2.5.6+Struts2.1.6整合异常解决&mdash;&mdash;不断更新</a> <small>1、org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'sessionFactory' is defined 异常说明：sessionFactory bean未定义 异常原因：applicationContext.xml配置文件中使用其他名字sessionFactory...</small></li>
<li><a href='http://imleeo.com/java/problem-of-jsonplugin-jar-and-struts2-jar-no-match.html' rel='bookmark' title='Permanent Link: jsonplugin包与Struts2包版本匹配问题'>jsonplugin包与Struts2包版本匹配问题</a> <small>今天做项目的时候遇到“java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lang/String;)Ljava/lang/Object;”异常，导致该异常的是jsonplugin的jar包与Struts2的jar包不匹配引起的。 jsonplugin-0.33.jar Struts 2 JSON Plugin 0.33 匹配 Struts 2.1.x Compatible jsonplugin-0.32.jar Struts 2 JSON Plugin 0.32 匹配 Struts...</small></li>
</ol></p></div><span><span class="r4"></span><span class="r3"></span><span class="r2"></span><span class="r1"></span></span></div>]]></content:encoded>
			<wfw:commentRss>http://imleeo.com/jquery/different-results-in-firefox-an-ie-of-fileupload-using-struts2-and-json-and-jquery.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>jsonplugin包与Struts2包版本匹配问题</title>
		<link>http://imleeo.com/java/problem-of-jsonplugin-jar-and-struts2-jar-no-match.html</link>
		<comments>http://imleeo.com/java/problem-of-jsonplugin-jar-and-struts2-jar-no-match.html#comments</comments>
		<pubDate>Wed, 23 Sep 2009 08:13:00 +0000</pubDate>
		<dc:creator>IT北瓜</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Json]]></category>
		<category><![CDATA[Struts2]]></category>
		<category><![CDATA[jar包]]></category>
		<category><![CDATA[java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lang/String;)Ljava/lang/Object]]></category>
		<category><![CDATA[jsonplugin]]></category>

		<guid isPermaLink="false">http://imleeo.com/java/problem-of-jsonplugin-jar-and-struts2-jar-no-match.html</guid>
		<description><![CDATA[今天做项目的时候遇到“java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lang/String;)Ljava/lang/Object;”异常，导致该异常的是jsonplugin的jar包与Struts2的jar包不匹配引起的。

      jsonplugin-0.33.jar     Struts 2 JSON Plugin 0.33 匹配 Struts 2.1.x Compatible    
      jsonplugin-0.32.jar     Struts 2 JSON Plugin 0.32 匹配 Struts 2.0.x Compatible

<div class="posturl"><span><span class="r1"></span><span class="r2"></span><span class="r3"></span><span class="r4"></span></span><div class="posturl-content">
关联文章导读：<ol><li><a href='http://imleeo.com/jquery/different-results-in-firefox-an-ie-of-fileupload-using-struts2-and-json-and-jquery.html' rel='bookmark' title='Permanent Link: Struts2+json+jQuery上传文件在Firefox和IE下返回结果截然不同'>Struts2+json+jQuery上传文件在Firefox和IE下返回结果截然不同</a> <small>&#160;&#160;&#160;&#160;&#160; 在Struts2中利用json格式返回数据，struts.xml文件配置如下： &lt;package name=&quot;struts2json&quot; extends=&quot;json-default&quot;&gt; &lt;!-- jsonfilm --&gt; &lt;action name=&quot;jsonFilm&quot; class=&quot;film&quot;&gt; &lt;result type=&quot;json&quot;&gt; &lt;param name=&quot;excludeProperties&quot;&gt;.*hibernateLazyInitializer,pageBean,film&lt;/param&gt; &lt;/result&gt; &lt;/action&gt; &lt;/package&gt; 而表单利用jquery.form.js插件提供的ajax方式来提交，javascript代码如下：...</small></li>
</ol></div><span><span class="r4"></span><span class="r3"></span><span class="r2"></span><span class="r1"></span></span></div>]]></description>
			<content:encoded><![CDATA[<p>今天做项目的时候遇到“java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lang/String;)Ljava/lang/Object;”异常，导致该异常的是jsonplugin的jar包与Struts2的jar包不匹配引起的。</p>
<p>jsonplugin-0.33.jar     Struts 2 JSON Plugin 0.33 匹配 Struts 2.1.x Compatible<br />
jsonplugin-0.32.jar     Struts 2 JSON Plugin 0.32 匹配 Struts 2.0.x Compatible</p>
<p><span style="color: #ff0000;">2009年12月16日更新</span></p>
<p>异常：java.lang.NoClassDefFoundError: com/opensymphony/xwork2/util/TextUtils</p>
<p>原因：jsonplugin-0.34.jar 配合 struts2-core-2.1.8.1.jar 使用的情况下报的异常，但以前的项目中jsonplugin-0.34.jar 配合 struts2-core-2.1.6.jar 使用不会出现这样的异常</p>
<p>解决方法：去掉jsonplugin-0.34.jar，使用struts2-json-plugin-2.1.8.1.jar 和 json-lib-2.1.jar两个包</p>


<div class="posturl"><span><span class="r1"></span><span class="r2"></span><span class="r3"></span><span class="r4"></span></span><div class="posturl-content"><p>关联文章导读：<ol><li><a href='http://imleeo.com/jquery/different-results-in-firefox-an-ie-of-fileupload-using-struts2-and-json-and-jquery.html' rel='bookmark' title='Permanent Link: Struts2+json+jQuery上传文件在Firefox和IE下返回结果截然不同'>Struts2+json+jQuery上传文件在Firefox和IE下返回结果截然不同</a> <small>&#160;&#160;&#160;&#160;&#160; 在Struts2中利用json格式返回数据，struts.xml文件配置如下： &lt;package name=&quot;struts2json&quot; extends=&quot;json-default&quot;&gt; &lt;!-- jsonfilm --&gt; &lt;action name=&quot;jsonFilm&quot; class=&quot;film&quot;&gt; &lt;result type=&quot;json&quot;&gt; &lt;param name=&quot;excludeProperties&quot;&gt;.*hibernateLazyInitializer,pageBean,film&lt;/param&gt; &lt;/result&gt; &lt;/action&gt; &lt;/package&gt; 而表单利用jquery.form.js插件提供的ajax方式来提交，javascript代码如下：...</small></li>
</ol></p></div><span><span class="r4"></span><span class="r3"></span><span class="r2"></span><span class="r1"></span></span></div>]]></content:encoded>
			<wfw:commentRss>http://imleeo.com/java/problem-of-jsonplugin-jar-and-struts2-jar-no-match.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
