﻿<?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-gps梦想-随笔分类-J2EE</title><link>http://www.blogjava.net/bzbaifan/category/51702.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 21 Jun 2013 23:42:21 GMT</lastBuildDate><pubDate>Fri, 21 Jun 2013 23:42:21 GMT</pubDate><ttl>60</ttl><item><title>WARN com.opensymphony.xwork2.ognl.OgnlValueStack异常的解决办法</title><link>http://www.blogjava.net/bzbaifan/archive/2012/05/15/378175.html</link><dc:creator>gps梦想</dc:creator><author>gps梦想</author><pubDate>Tue, 15 May 2012 03:54:00 GMT</pubDate><guid>http://www.blogjava.net/bzbaifan/archive/2012/05/15/378175.html</guid><wfw:comment>http://www.blogjava.net/bzbaifan/comments/378175.html</wfw:comment><comments>http://www.blogjava.net/bzbaifan/archive/2012/05/15/378175.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/bzbaifan/comments/commentRss/378175.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bzbaifan/services/trackbacks/378175.html</trackback:ping><description><![CDATA[
 
<p><span>WARN&nbsp;com.opensymphony.xwork2.ognl.OgnlValueStack:60&nbsp;-&nbsp;Error&nbsp;setting&nbsp;expression&nbsp;'</span><span>ssc</span><span>.x'&nbsp;with&nbsp;value&nbsp;'[Ljava.lang.String;@28d320d6'</span><span></span></p><p><span>ognl.OgnlException</span><span>:&nbsp;target&nbsp;is&nbsp;null&nbsp;for&nbsp;setProperty(null,&nbsp;"x",&nbsp;[Ljava.lang.String;@28d320d6)</span><span></span></p><p><span>ognl.OgnlException</span><span>:&nbsp;target&nbsp;is&nbsp;null&nbsp;for&nbsp;setProperty(null,&nbsp;"y",&nbsp;[Ljava.lang.String;@32a88bc2)</span><span>&nbsp;</span><span></span></p><p><span>的解决办法</span><span></span></p><p><span></span></p><p><span>Struts2<br />这个异常是在提交表单的时候发生的，乍一看以为是Struts2类型转换的错误，但是程序中又压根儿没有用到Struts2的类型转换，而且前台页面<br />index.jsp中也没有设置x,y这些参数；且这个错误并不会影响程序的正常运行，找了很久，最后发现是提交按钮的缘故，提交按钮引用的是一个图片，<br />如下：</span><span></span></p><p><span>&lt;input</span><span>&nbsp;</span><span>id="submit"</span><span>&nbsp;</span><span>type="image"</span><span>&nbsp;</span><span>name="</span><span>ssc</span><span>"&nbsp;src="asserts/images/5.jpg"</span><span>/</span><span>&gt;</span><span></span></p><p><span>由于表单提交中设置了name属性，所以struts2会进行接收相应的值，查找它的set&nbsp;和&nbsp;get方法，而action里面没有这个name值的，所以才出现了如上错误。可以这样写：</span><span></span></p><p><span>&lt;input</span><span>&nbsp;</span><span>id="submit"</span><span>&nbsp;</span><span>type="image"</span><span>&nbsp;</span><span>&nbsp;src="asserts/images/5.jpg"</span><span>&nbsp;/</span><span>&gt;</span><span></span></p><p><span>将name属性去掉即可。</span><span></span></p><p><span></span></p><p><span>其实，在struts.xml文件里可以配置"struts.devMode"属性。</span><span></span></p><p><span>当<br />struts.devMode&nbsp;=&nbsp;true时，使用struts在默认配置下对任何提交到action的参数强制需要setter方法，html表单数<br />据中有和action属性匹配不上的参数名时就会提示这样的信息。所以，在开发过程中将这个属性设为true还是很好的，它可以帮我们发现一些可能出现但<br />又被我们忽视的问题，犯的&#8220;错误&#8221;越多，才能积累很多的经验。<br /><br />转自百度空间：</p></span><a href="http://hi.baidu.com/gpsdreamer/item/544050ed0e00e4d0e1a5d4cd">http://hi.baidu.com/gpsdreamer/item/544050ed0e00e4d0e1a5d4cd</a> 
<img src ="http://www.blogjava.net/bzbaifan/aggbug/378175.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bzbaifan/" target="_blank">gps梦想</a> 2012-05-15 11:54 <a href="http://www.blogjava.net/bzbaifan/archive/2012/05/15/378175.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring中使用ibatis完整分析</title><link>http://www.blogjava.net/bzbaifan/archive/2012/05/15/378173.html</link><dc:creator>gps梦想</dc:creator><author>gps梦想</author><pubDate>Tue, 15 May 2012 03:52:00 GMT</pubDate><guid>http://www.blogjava.net/bzbaifan/archive/2012/05/15/378173.html</guid><wfw:comment>http://www.blogjava.net/bzbaifan/comments/378173.html</wfw:comment><comments>http://www.blogjava.net/bzbaifan/archive/2012/05/15/378173.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bzbaifan/comments/commentRss/378173.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bzbaifan/services/trackbacks/378173.html</trackback:ping><description><![CDATA[
 
<p><span>1.&nbsp;</span><span>首先看Spring中beans的配置：</span><span></span></p><p><span>1）&nbsp;</span><span>&lt;bean</span><span>&nbsp;i</span><span>d="dataSource"&nbsp;class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close"&gt;</span><span></span></p><p><span>第一个bean作为配置连接数据库，设置DriverManager以及用户名密码</span><span></span></p><p><span>2）&nbsp;</span><span>&lt;bean&nbsp;id="sqlMapClient"&nbsp;class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"&gt;</span><span></span></p><p><span>第二个bean就是选择</span><span>SqlMapClient</span><span>，并且填写该xml的路径：</span><span></span></p><p><span>XmlSqlMapClientBuilder&nbsp;xmlBuilder&nbsp;=</span><span></span><span>new&nbsp;</span><span>XmlSqlMapClientBuilder();</span><span></span></p><p><span>SqlMapClient&nbsp;sqlMap&nbsp;=&nbsp;xmlBuilder.buildSqlMap(reader);</span><span></span></p><p><span></span></p><p><span>3）&nbsp;</span><span>&lt;bean&nbsp;id="sqlMapClientTemplate"&nbsp;class="org.springframework.orm.ibatis.SqlMapClientTemplate"&gt;</span><span></span></p><p><span>&lt;property&nbsp;name="sqlMapClient"&gt;</span><span></span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ref&nbsp;bean="sqlMapClient"&nbsp;/&gt;</span><span></span></p><p><span>&nbsp;&lt;/property&gt;</span><span></span></p><p><span>&nbsp;&lt;/bean&gt;</span><span></span></p><p><span>第三个bean，</span><span>SqlMapClientTemplate是SqlMapClient的封装类.</span><span><br /></span><span>SqlMapClient中包含着session的管理.</span><span><br /></span><span>SqlMapClientTemplate用于session的封装,以及异常的捕捉.</span><span><br /></span><span>所以按照以上的推断来说.应该尽量使用SqlMapClientTemplate.</span><span><br /></span><span>保证session以及Exception的正常以及统一.</span><span></span></p><p><span>2.&nbsp;</span><span>然后就是</span><span>SqlMapClient</span><span>的配置：</span><span></span></p><p><span>&lt;sqlMap&nbsp;resource="sql/gpsData_sqlmap_mapping.xml"/&gt;</span><span></span></p><p><span>配置gpsData类与数据库的对应关系</span><span></span></p><p><span>3.&nbsp;</span><span>这两个xml文件配置好以后就可以在自己的DAO类中写相应的增删改查方法了。</span><span></span></p><p><span>public&nbsp;class&nbsp;IbatisGpsDataDao&nbsp;extends&nbsp;BaseDao&nbsp;implements&nbsp;GpsDataDao</span><span>{</span><span></span></p><p><span>&#8230;</span><span></span></p><p><span>}</span><span></span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;该类集成了BaseDao类，BaseDao提供了</span><span>SqlMapClientTemplate</span><span>的对象操作，该对象正是在Spring&nbsp;beans中配置的。通过获得这个</span><span>SqlMapClientTemplate</span><span>，进行增删改查的操作。</span><span></span></p><p><span>例如下面的insert方法：</span><span></span></p><p><span>public&nbsp;long&nbsp;insertGpsDataDo(GpsDataDo&nbsp;gpsdata)&nbsp;{</span><span></span></p><p><span></span><span></span><span>if(gpsdata&nbsp;==&nbsp;null){</span><span></span></p><p><span></span><span></span><span></span><span>throw&nbsp;new&nbsp;IllegalArgumentException();</span><span></span></p><p><span></span><span></span><span>}</span><span></span></p><p><span></span><span></span><span>return&nbsp;(Long)&nbsp;getSqlMapClientTemplate().insert("GpsData.insertGpsData",gpsdata);</span><span></span></p><p><span></span><span>}</span></p><img src ="http://www.blogjava.net/bzbaifan/aggbug/378173.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bzbaifan/" target="_blank">gps梦想</a> 2012-05-15 11:52 <a href="http://www.blogjava.net/bzbaifan/archive/2012/05/15/378173.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>