﻿<?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-乐乐-文章分类-struts2.0 spring hiberate</title><link>http://www.blogjava.net/wangbbs2007/category/41702.html</link><description>http://www.blogjava.net/wangbbs2007/</description><language>zh-cn</language><lastBuildDate>Thu, 12 Nov 2009 14:04:39 GMT</lastBuildDate><pubDate>Thu, 12 Nov 2009 14:04:39 GMT</pubDate><ttl>60</ttl><item><title>struts2 创建 session  request  response</title><link>http://www.blogjava.net/wangbbs2007/articles/301653.html</link><dc:creator>乐vs乐</dc:creator><author>乐vs乐</author><pubDate>Mon, 09 Nov 2009 01:59:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/301653.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/301653.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/301653.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/301653.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/301653.html</trackback:ping><description><![CDATA[1、非IoC方式
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 要获得上述对象，关键Struts 2中com.opensymphony.xwork2.ActionContext类。我们可以通过它的静态方法getContext()获取当前Action的上下文对象。有了这个对象我们想获得其他几个对象就好办了</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ActionContext ctx = ActionContext.getContext();&nbsp;&nbsp;&nbsp;&nbsp; Map session = ctx.getSession();&nbsp;&nbsp;&nbsp;&nbsp; 细心的朋友可以发现这里的session是个map对象在Struts2中底层的session都被封装成了Map类型我们可以直接操作这个map 进行对session的写入和读取操作而不用去直接操作HttpSession对象</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 另外，org.apache.struts2.ServletActionContext作为辅助类（Helper Class），可以帮助您快捷地获得这几个对象。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HttpServletRequest request = ServletActionContext.getRequest();&nbsp;&nbsp;&nbsp;&nbsp; HttpServletResponse response = ServletActionContext.getResponse();&nbsp;&nbsp;&nbsp;&nbsp; HttpSession session = request.getSession();&nbsp;&nbsp;&nbsp;&nbsp; 如果你只是想访问session的属性（Attribute），你也可以通过ActionContext.getContext().getSession()获取或添加session范围（Scoped）的对象。</p><img src ="http://www.blogjava.net/wangbbs2007/aggbug/301653.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐vs乐</a> 2009-11-09 09:59 <a href="http://www.blogjava.net/wangbbs2007/articles/301653.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts2.0 与Fckeditor上传文件的问题 </title><link>http://www.blogjava.net/wangbbs2007/articles/300775.html</link><dc:creator>乐vs乐</dc:creator><author>乐vs乐</author><pubDate>Mon, 02 Nov 2009 10:50:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/300775.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/300775.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/300775.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/300775.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/300775.html</trackback:ping><description><![CDATA[因为在使用在线编辑器Fckeditor的上传图片的时候会跳出<br />
<span><span><span style="color: #0001ff">Security&nbsp;error.&nbsp;You&nbsp;probably&nbsp;don't&nbsp;have&nbsp;enough&nbsp;permissions&nbsp;to&nbsp;upload.&nbsp;Please&nbsp;check&nbsp;your&nbsp;server </span><br />
还有<span style="color: #0001ff">file upload error num 203<br />
<span style="color: #000102">后来才知道和Struts2.0的过滤冲突了<br />
在网络上查找了下别人是这么说的：</span></span></span></span><span class="hilite1" style="color: #ff0102"><span class="hilite1"><span style="background-color: #ffff00">struts2</span></span></span><span style="color: #ff0102">对request进行了封装，所以当fck的request.getinputStream的时候就会出错.修改的方法就是对filtermapping的路径进行修改。<br />
<br />
<span style="color: #000102">然后对web.XML修改下就可以了</span><br />
<li><span><span class="tag">&lt;</span><span class="tag-name">filter</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">filter-name</span><span class="tag">&gt;</span><span>struts2</span><span class="tag">&lt;/</span><span class="tag-name">filter-name</span><span class="tag">&gt;</span><span>&nbsp; &nbsp;&nbsp;</span></span></li>
<li><span>&nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">filter-class</span><span class="tag">&gt;</span><span>org.apache.struts2.dispatcher.FilterDispatcher</span><span class="tag">&lt;/</span><span class="tag-name">filter-class</span><span class="tag">&gt;</span><span>&nbsp; &nbsp;&nbsp;</span></span></li>
<li><span>&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">filter</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
<li><span>&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">filter-mapping</span><span class="tag">&gt;</span><span>&nbsp; &nbsp;&nbsp;</span></span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">filter-name</span><span class="tag">&gt;</span><span>struts2</span><span class="tag">&lt;/</span><span class="tag-name">filter-name</span><span class="tag">&gt;</span><span>&nbsp; &nbsp;&nbsp;</span></span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">url-pattern</span><span class="tag">&gt;</span><span>*.action</span><span class="tag">&lt;/</span><span class="tag-name">url-pattern</span><span class="tag">&gt;</span><span>&nbsp; &nbsp;&nbsp;</span></span></li>
<li><span>&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">filter-mapping</span><span class="tag">&gt;</span><span>&nbsp; &nbsp;&nbsp;</span></span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
<li><span>&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">filter-mapping</span><span class="tag">&gt;</span><span>&nbsp; &nbsp;&nbsp;</span></span></li>
<li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">filter-name</span><span class="tag">&gt;</span><span>struts2</span><span class="tag">&lt;/</span><span class="tag-name">filter-name</span><span class="tag">&gt;</span><span>&nbsp; &nbsp;&nbsp;</span></span></li>
<li><span>&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">url-pattern</span><span class="tag">&gt;</span><span>*.jsp</span><span class="tag">&lt;/</span><span class="tag-name">url-pattern</span><span class="tag">&gt;</span><span>&nbsp; &nbsp;&nbsp;</span></span></li>
<li><span class="tag">&lt;/</span><span class="tag-name">filter-mapping</span><span class="tag">&gt;</span><span>&nbsp; &nbsp;&nbsp;</span></span></li>
<li><span>&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">welcome-file-list</span><span class="tag">&gt;</span><span>&nbsp;</span></li>
</span><img src ="http://www.blogjava.net/wangbbs2007/aggbug/300775.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐vs乐</a> 2009-11-02 18:50 <a href="http://www.blogjava.net/wangbbs2007/articles/300775.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition.</title><link>http://www.blogjava.net/wangbbs2007/articles/300044.html</link><dc:creator>乐vs乐</dc:creator><author>乐vs乐</author><pubDate>Wed, 28 Oct 2009 05:33:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/300044.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/300044.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/300044.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/300044.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/300044.html</trackback:ping><description><![CDATA[&lt;!-- 配置那些类的方法进行事务管理 --&gt; <br />
&nbsp; &nbsp; &lt;aop:config&gt; <br />
&nbsp; &nbsp; &lt;aop:pointcut id="allManagerMethod" expression="execution (* com.test.manager.*.*(..))"/&gt; <br />
&nbsp; &nbsp; &lt;aop:advisor advice-ref="txAdvice" pointcut-ref="allManagerMethod"/&gt; <br />
&nbsp; &nbsp; &lt;/aop:config&gt;&nbsp; <br />
<br />
(expression)路径出的错 <br />
<br />
出你那个异常是由于expression对应的路径有问题,请仔细查看,是否为你的程序的包路径!<img src ="http://www.blogjava.net/wangbbs2007/aggbug/300044.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐vs乐</a> 2009-10-28 13:33 <a href="http://www.blogjava.net/wangbbs2007/articles/300044.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>org.hibernate.LazyInitializationException: could not initialize proxy - no Session  18:33:53,484 ERROR LazyInitializationException:42 - could not initialize proxy - no Session</title><link>http://www.blogjava.net/wangbbs2007/articles/299959.html</link><dc:creator>乐vs乐</dc:creator><author>乐vs乐</author><pubDate>Tue, 27 Oct 2009 10:37:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/299959.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/299959.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/299959.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/299959.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/299959.html</trackback:ping><description><![CDATA[<br />
这个是多对一时没有家载而关了session后要显示出现的错误 <br />
<br />
load改成get&nbsp; 就好使了&nbsp;&nbsp;&nbsp; <br />
这是我的解决办法<img src ="http://www.blogjava.net/wangbbs2007/aggbug/299959.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐vs乐</a> 2009-10-27 18:37 <a href="http://www.blogjava.net/wangbbs2007/articles/299959.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SSH在数据库中却查询不到插入的数据，在查询分析器中写insert语句可以插入，并且主键会增加1</title><link>http://www.blogjava.net/wangbbs2007/articles/299955.html</link><dc:creator>乐vs乐</dc:creator><author>乐vs乐</author><pubDate>Tue, 27 Oct 2009 09:52:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/299955.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/299955.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/299955.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/299955.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/299955.html</trackback:ping><description><![CDATA[是在数据库中却查询不到插入的数据，在查询分析器中写insert语句可以插入，并且主键会增加1,请高手帮忙在hibernate.cfg.xml的配置中加一条语句看看： <br />
&lt;property name="connection.autocommit"&gt;true &lt;/property&gt; <br />
你的数据应该是存在了缓存中，没有放入数据库。<img src ="http://www.blogjava.net/wangbbs2007/aggbug/299955.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐vs乐</a> 2009-10-27 17:52 <a href="http://www.blogjava.net/wangbbs2007/articles/299955.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts2+spring2.5.x+hibernate3.3.x +ant+xdoclet整合(原创)</title><link>http://www.blogjava.net/wangbbs2007/articles/299564.html</link><dc:creator>乐vs乐</dc:creator><author>乐vs乐</author><pubDate>Sat, 24 Oct 2009 05:19:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/299564.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/299564.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/299564.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/299564.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/299564.html</trackback:ping><description><![CDATA[<span style="color: red">13:18:45<br />
1.web.xml</span><br />
<p>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&lt;web-app version="2.4" xmlns=<a href="http://java.sun.com/xml/ns/j2ee">http://java.sun.com/xml/ns/j2ee</a>&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 />
&nbsp;xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&nbsp;<br />
&nbsp;xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee <br />
&nbsp;http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"&gt;<br />
&nbsp;<br />
&nbsp;&lt;!-- struts2 spring 整合 --&gt;<br />
&nbsp;&lt;listener&gt;<br />
&nbsp;&nbsp;&lt;listener-class&gt;<br />
&nbsp;&nbsp;&nbsp;org.springframework.web.context.ContextLoaderListener<br />
&nbsp;&nbsp;&lt;/listener-class&gt;<br />
&nbsp;&lt;/listener&gt;<br />
&nbsp;&lt;context-param&gt;<br />
&nbsp;&nbsp;&lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;<br />
&nbsp;&nbsp;&lt;param-value&gt;<br />
&nbsp;&nbsp;&nbsp;/WEB-INF/classes/applicationContext-*.xml,classpath*:applicationContext-*.xml<br />
&nbsp;&nbsp;&lt;/param-value&gt;<br />
&nbsp;&lt;/context-param&gt;</p>
<p>&nbsp;&lt;!--&nbsp; &lt;context-param&gt;<br />
&nbsp;&nbsp;&lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;<br />
&nbsp;&nbsp;&lt;param-value&gt;<br />
&nbsp;&nbsp;/WEB-INF/classes/applicationContext.xml<br />
&nbsp;&nbsp;&lt;/param-value&gt;<br />
&nbsp;&nbsp;&lt;/context-param&gt;--&gt;<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;&lt;!-- 自动关闭Hibernatesession --&gt;<br />
&nbsp;&lt;filter&gt;<br />
&nbsp;&nbsp;&lt;filter-name&gt;hibernateFilter&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&lt;filter-class&gt;<br />
&nbsp;&nbsp;&nbsp;org.springframework.orm.hibernate3.support.OpenSessionInViewFilter<br />
&nbsp;&nbsp;&lt;/filter-class&gt;<br />
&nbsp;&lt;/filter&gt;<br />
&nbsp;&lt;filter-mapping&gt;<br />
&nbsp;&nbsp;&lt;filter-name&gt;hibernateFilter&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&lt;url-pattern&gt;/*&lt;/url-pattern&gt;<br />
&nbsp;&lt;/filter-mapping&gt;<br />
&lt;!-- 乱码 --&gt;<br />
&nbsp;&lt;filter&gt;<br />
&nbsp;&nbsp;&lt;filter-name&gt;Spring character encoding filter&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&lt;filter-class&gt;<br />
&nbsp;&nbsp;&nbsp;org.springframework.web.filter.CharacterEncodingFilter<br />
&nbsp;&nbsp;&lt;/filter-class&gt;<br />
&nbsp;&nbsp;&lt;init-param&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;param-name&gt;encoding&lt;/param-name&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;param-value&gt;GBK&lt;/param-value&gt;<br />
&nbsp;&nbsp;&lt;/init-param&gt;<br />
&nbsp;&lt;/filter&gt;<br />
&nbsp;&lt;filter-mapping&gt;<br />
&nbsp;&nbsp;&lt;filter-name&gt;Spring character encoding filter&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&lt;url-pattern&gt;/*&lt;/url-pattern&gt;<br />
&nbsp;&lt;/filter-mapping&gt;</p>
<p>&nbsp;&lt;!-- struts2.0配置 --&gt;<br />
&nbsp;&lt;filter&gt;<br />
&nbsp;&nbsp;&lt;filter-name&gt;struts2&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&lt;filter-class&gt;<br />
&nbsp;&nbsp;&nbsp;org.apache.struts2.dispatcher.FilterDispatcher<br />
&nbsp;&nbsp;&lt;/filter-class&gt;<br />
&nbsp;&lt;/filter&gt;<br />
&nbsp;&lt;filter-mapping&gt;<br />
&nbsp;&nbsp;&lt;filter-name&gt;struts2&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&lt;url-pattern&gt;/*&lt;/url-pattern&gt;<br />
&nbsp;&lt;/filter-mapping&gt;</p>
<p>&nbsp;</p>
<p>&nbsp;&lt;welcome-file-list&gt;<br />
&nbsp;&nbsp;&lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;<br />
&nbsp;&lt;/welcome-file-list&gt;<br />
&lt;/web-app&gt;<br />
<span style="color: red">2.&nbsp; struts2-spring-plugin-2.0.14.jar<br />
</span><span style="color: red">3</span>.applicationContext-actions.xml<br />
&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&lt;beans xmlns="http://www.springframework.org/schema/beans"<br />
&nbsp;&nbsp;xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />
&nbsp;&nbsp;xmlns:aop="http://www.springframework.org/schema/aop"<br />
&nbsp;&nbsp;xmlns:tx="http://www.springframework.org/schema/tx"<br />
&nbsp;&nbsp;xsi:schemaLocation="<br />
&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd<br />
&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd<br />
&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"&gt;<br />
&lt;bean id="loginManger" class="com.xushi.Manager.Impl.LoginSericeImpl"/&gt;<br />
&lt;bean id="login" class="com.xushi.action.LoginAction"&gt;<br />
&nbsp;&lt;property name="loginManger" ref="loginManger"&gt;&lt;/property&gt;<br />
&lt;/bean&gt;<br />
&lt;/beans&gt;<br />
<span style="color: red">4.applicationContext-beans.xml</span><br />
</p>
<p>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&lt;beans xmlns="http://www.springframework.org/schema/beans"<br />
&nbsp;&nbsp;xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />
&nbsp;&nbsp;xmlns:aop="http://www.springframework.org/schema/aop"<br />
&nbsp;&nbsp;xmlns:tx="http://www.springframework.org/schema/tx"<br />
&nbsp;&nbsp;xsi:schemaLocation="<br />
&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd<br />
&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd<br />
&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"&gt;</p>
<p>&lt;/beans&gt;</p>
<span style="color: red">5.applicationContext-common.xml</span><br />
<br />
<p>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&lt;beans xmlns="http://www.springframework.org/schema/beans"<br />
&nbsp;&nbsp;xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />
&nbsp;&nbsp;xmlns:aop="http://www.springframework.org/schema/aop"<br />
&nbsp;&nbsp;xmlns:tx="http://www.springframework.org/schema/tx"<br />
&nbsp;&nbsp;xsi:schemaLocation="<br />
&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd<br />
&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd<br />
&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"&gt;</p>
<p>&lt;!-- 配置sessionFactory --&gt;<br />
&nbsp;&lt;bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&gt;<br />
&nbsp;&nbsp;&lt;property name="configLocation"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;value&gt;classpath:hibernate.cfg.xml&lt;/value&gt;<br />
&nbsp;&nbsp;&lt;/property&gt;<br />
&nbsp;&lt;/bean&gt;&nbsp;<br />
&nbsp;&lt;!-- 配置事务管理器 --&gt;&nbsp;<br />
&nbsp;&lt;bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"&gt;<br />
&nbsp;&nbsp;&lt;property name="sessionFactory"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;ref local="sessionFactory"/&gt;<br />
&nbsp;&nbsp;&lt;/property&gt;<br />
&nbsp;&lt;/bean&gt;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &lt;!-- 配置事务特性 --&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &lt;tx:advice id="txAdvice" transaction-manager="transactionManager"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&lt;tx:attributes&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;tx:method name="add*" propagation="REQUIRED"/&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;tx:method name="del*" propagation="REQUIRED"/&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;tx:method name="update*" propagation="REQUIRED"/&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;tx:method name="*" read-only="true"/&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&lt;/tx:attributes&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/tx:advice&gt;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &lt;!-- 配置那些类的方法进行事务管理 --&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;aop:config&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&lt;aop:pointcut id="allManagerMethod" expression="execution (* com.xushi.manager.*.*(..))"/&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&lt;aop:advisor advice-ref="txAdvice" pointcut-ref="allManagerMethod"/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/aop:config&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&lt;/beans&gt;<br />
<br />
<span style="color: red">6记住配置ant环境变量</span><br />
build.xml</p>
<br />
<br />
<p>&lt;?xml version="1.0" encoding="GBK"?&gt;<br />
&lt;project name="OA【01】系统构建脚本" default="生成Hibernate配置文件" basedir="."&gt;</p>
<p>&nbsp;&nbsp; &nbsp;&lt;property name="src.dir" value="${basedir}/src"/&gt;<br />
&nbsp;&lt;property name="xdoclet.home" value="D:/xdoclet-plugins-dist-1.0.4"/&gt;</p>
<p>&nbsp;&nbsp; &nbsp;&lt;!-- Build classpath --&gt;<br />
&nbsp;&nbsp; &nbsp;&lt;path id="xdoclet.task.classpath"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;fileset dir="${xdoclet.home}/lib"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;include name="**/*.jar"/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;/fileset&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--&nbsp; &nbsp;&lt;fileset dir="${xdoclet.home}/plugins"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;include name="**/*.jar"/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;/fileset&gt;--&gt;<br />
&nbsp;&nbsp; &nbsp;&lt;/path&gt;<br />
&nbsp;&lt;taskdef&nbsp; <br />
&nbsp;&nbsp;name="xdoclet"<br />
&nbsp;&nbsp;classname="org.xdoclet.ant.XDocletTask"<br />
&nbsp;&nbsp;classpathref="xdoclet.task.classpath"<br />
&nbsp;/&gt;<br />
&nbsp;<br />
&nbsp;&lt;target name="生成Hibernate配置文件"&gt;<br />
&nbsp;&nbsp;&lt;xdoclet&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;fileset dir="${src.dir}/com/xushi/model"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;include name="**/*.java"/&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/fileset&gt;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&lt;component<br />
&nbsp;&nbsp;&nbsp;&nbsp;classname="org.xdoclet.plugin.hibernate.HibernateConfigPlugin"<br />
&nbsp;&nbsp;&nbsp;&nbsp;destdir="${src.dir}"<br />
&nbsp;&nbsp;&nbsp;&nbsp;version="3.0"<br />
&nbsp;&nbsp;&nbsp;&nbsp;hbm2ddlauto="update"<br />
&nbsp;&nbsp;&nbsp;&nbsp;jdbcurl="jdbc:mysql://localhost/oa"<br />
&nbsp;&nbsp;&nbsp;&nbsp;jdbcdriver="com.mysql.jdbc.Driver"<br />
&nbsp;&nbsp;&nbsp;&nbsp;jdbcusername="root"<br />
&nbsp;&nbsp;&nbsp;&nbsp;jdbcpassword="wzy"<br />
&nbsp;&nbsp;&nbsp;&nbsp;dialect="org.hibernate.dialect.MySQLDialect"<br />
&nbsp;&nbsp;&nbsp;&nbsp;showsql="true"<br />
&nbsp;&nbsp;&nbsp;/&gt;<br />
&nbsp;&nbsp;&lt;/xdoclet&gt;<br />
&nbsp;&lt;/target&gt;<br />
&nbsp;&lt;target name="生成hibernate映射文件"&gt;<br />
&nbsp;&nbsp;&lt;xdoclet&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;fileset dir="${src.dir}/com/xushi/model"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;include name="**/*.java"/&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/fileset&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;component <br />
&nbsp;&nbsp;&nbsp;&nbsp;classname="org.xdoclet.plugin.hibernate.HibernateMappingPlugin"<br />
&nbsp;&nbsp;&nbsp;&nbsp;version="3.0"<br />
&nbsp;&nbsp;&nbsp;&nbsp;destdir="${src.dir}"<br />
&nbsp;&nbsp;&nbsp;/&gt;<br />
&nbsp;&nbsp;&lt;/xdoclet&gt;<br />
&nbsp;&lt;/target&gt;<br />
&lt;/project&gt;</p>
<p><br />
<span style="color: red">&nbsp;7.Orgnization.java</span><br />
</p>
<p>package com.xushi.model;</p>
<p>import java.util.Set;</p>
<p>/**<br />
&nbsp;* <br />
&nbsp;* @author Administrator<br />
&nbsp;* @hibernate.class table="T_Orgnization"<br />
&nbsp;* <br />
&nbsp;*/ <br />
public class Orgnization {<br />
&nbsp;<br />
&nbsp;/**<br />
&nbsp; * @hibernate.id<br />
&nbsp; * &nbsp;&nbsp;generator-class="native"<br />
&nbsp; */<br />
&nbsp;private int id;</p>
<p>&nbsp;/**<br />
&nbsp; * @hibernate.property<br />
&nbsp; */<br />
&nbsp;private String name;<br />
&nbsp;<br />
&nbsp;/**<br />
&nbsp; * @hibernate.property<br />
&nbsp; */<br />
&nbsp;private String sn;<br />
&nbsp;<br />
&nbsp;/**<br />
&nbsp; * @hibernate.property<br />
&nbsp; */<br />
&nbsp;private String description;<br />
&nbsp;<br />
&nbsp;/**<br />
&nbsp; * @hibernate.many-to-one<br />
&nbsp; * &nbsp;&nbsp;column="pid"<br />
&nbsp; */<br />
&nbsp;private Orgnization parent;<br />
&nbsp;<br />
&nbsp;/**<br />
&nbsp; * @hibernate.set inverse="true" lazy="extra"<br />
&nbsp; * @hibernate.key column="pid"<br />
&nbsp; * @hibernate.one-to-many class="com.xushi.model.Orgnization"<br />
&nbsp; */<br />
&nbsp;private Set children;<br />
&nbsp;<br />
&nbsp;<br />
&nbsp;public Set getChildren() {<br />
&nbsp;&nbsp;return children;<br />
&nbsp;}<br />
&nbsp;public void setChildren(Set children) {<br />
&nbsp;&nbsp;this.children = children;<br />
&nbsp;}<br />
&nbsp;public String getDescription() {<br />
&nbsp;&nbsp;return description;<br />
&nbsp;}<br />
&nbsp;public void setDescription(String description) {<br />
&nbsp;&nbsp;this.description = description;<br />
&nbsp;}<br />
&nbsp;public int getId() {<br />
&nbsp;&nbsp;return id;<br />
&nbsp;}<br />
&nbsp;public void setId(int id) {<br />
&nbsp;&nbsp;this.id = id;<br />
&nbsp;}<br />
&nbsp;public String getName() {<br />
&nbsp;&nbsp;return name;<br />
&nbsp;}<br />
&nbsp;public void setName(String name) {<br />
&nbsp;&nbsp;this.name = name;<br />
&nbsp;}<br />
&nbsp;public Orgnization getParent() {<br />
&nbsp;&nbsp;return parent;<br />
&nbsp;}<br />
&nbsp;public void setParent(Orgnization parent) {<br />
&nbsp;&nbsp;this.parent = parent;<br />
&nbsp;}<br />
&nbsp;public String getSn() {<br />
&nbsp;&nbsp;return sn;<br />
&nbsp;}<br />
&nbsp;public void setSn(String sn) {<br />
&nbsp;&nbsp;this.sn = sn;<br />
&nbsp;}<br />
}<br />
<span style="color: red">8.Person.java</span><br />
<br />
</p>
<p>package com.xushi.model;</p>
<p>/**<br />
&nbsp;* <br />
&nbsp;* @author Administrator<br />
&nbsp;* @hibernate.class table="T_Person"<br />
&nbsp;*/<br />
public class Person {<br />
&nbsp;<br />
&nbsp;/**<br />
&nbsp; * @hibernate.id<br />
&nbsp; * &nbsp;&nbsp;generator-class="native"<br />
&nbsp; */<br />
&nbsp;private int id;<br />
&nbsp;<br />
&nbsp;/**<br />
&nbsp; * @hibernate.property<br />
&nbsp; */<br />
&nbsp;private String name;<br />
&nbsp;<br />
&nbsp;/**<br />
&nbsp; * @hibernate.property<br />
&nbsp; */<br />
&nbsp;private String sex;<br />
&nbsp;<br />
&nbsp;/**<br />
&nbsp; * @hibernate.property<br />
&nbsp; */<br />
&nbsp;private String address;<br />
&nbsp;<br />
&nbsp;/**<br />
&nbsp; * @hibernate.property<br />
&nbsp; */<br />
&nbsp;private String duty;<br />
&nbsp;<br />
&nbsp;/**<br />
&nbsp; * @hibernate.property<br />
&nbsp; */<br />
&nbsp;private String phone;<br />
&nbsp;<br />
&nbsp;/**<br />
&nbsp; * @hibernate.property<br />
&nbsp; */<br />
&nbsp;private String description;<br />
&nbsp;<br />
&nbsp;/**<br />
&nbsp; * @hibernate.many-to-one<br />
&nbsp; */<br />
&nbsp;private Orgnization org;<br />
&nbsp;<br />
&nbsp;public String getAddress() {<br />
&nbsp;&nbsp;return address;<br />
&nbsp;}<br />
&nbsp;public void setAddress(String address) {<br />
&nbsp;&nbsp;this.address = address;<br />
&nbsp;}<br />
&nbsp;public String getDescription() {<br />
&nbsp;&nbsp;return description;<br />
&nbsp;}<br />
&nbsp;public void setDescription(String description) {<br />
&nbsp;&nbsp;this.description = description;<br />
&nbsp;}<br />
&nbsp;public String getDuty() {<br />
&nbsp;&nbsp;return duty;<br />
&nbsp;}<br />
&nbsp;public void setDuty(String duty) {<br />
&nbsp;&nbsp;this.duty = duty;<br />
&nbsp;}<br />
&nbsp;public int getId() {<br />
&nbsp;&nbsp;return id;<br />
&nbsp;}<br />
&nbsp;public void setId(int id) {<br />
&nbsp;&nbsp;this.id = id;<br />
&nbsp;}<br />
&nbsp;public String getName() {<br />
&nbsp;&nbsp;return name;<br />
&nbsp;}<br />
&nbsp;public void setName(String name) {<br />
&nbsp;&nbsp;this.name = name;<br />
&nbsp;}<br />
&nbsp;public String getPhone() {<br />
&nbsp;&nbsp;return phone;<br />
&nbsp;}<br />
&nbsp;public void setPhone(String phone) {<br />
&nbsp;&nbsp;this.phone = phone;<br />
&nbsp;}<br />
&nbsp;public String getSex() {<br />
&nbsp;&nbsp;return sex;<br />
&nbsp;}<br />
&nbsp;public void setSex(String sex) {<br />
&nbsp;&nbsp;this.sex = sex;<br />
&nbsp;}<br />
&nbsp;public Orgnization getOrg() {<br />
&nbsp;&nbsp;return org;<br />
&nbsp;}<br />
&nbsp;public void setOrg(Orgnization org) {<br />
&nbsp;&nbsp;this.org = org;<br />
&nbsp;}<br />
}<br />
</p><img src ="http://www.blogjava.net/wangbbs2007/aggbug/299564.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐vs乐</a> 2009-10-24 13:19 <a href="http://www.blogjava.net/wangbbs2007/articles/299564.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring Security安全权限管理手册</title><link>http://www.blogjava.net/wangbbs2007/articles/299236.html</link><dc:creator>乐vs乐</dc:creator><author>乐vs乐</author><pubDate>Wed, 21 Oct 2009 11:51:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/299236.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/299236.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/299236.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/299236.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/299236.html</trackback:ping><description><![CDATA[http://www.family168.com/oa/springsecurity/html/ <br />
<br />
<br />
struts2实现 权限管理:http://www.yqdown.com/chengxukaifa/Java/6327.htm&nbsp;&nbsp;&nbsp;<img src ="http://www.blogjava.net/wangbbs2007/aggbug/299236.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐vs乐</a> 2009-10-21 19:51 <a href="http://www.blogjava.net/wangbbs2007/articles/299236.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]</title><link>http://www.blogjava.net/wangbbs2007/articles/299221.html</link><dc:creator>乐vs乐</dc:creator><author>乐vs乐</author><pubDate>Wed, 21 Oct 2009 08:49:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/299221.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/299221.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/299221.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/299221.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/299221.html</trackback:ping><description><![CDATA[<p><font color="#ff0000"><font color="#000000">加载spring的配置文件时在默认位置</font><font color="#ff0000">/WEB-INF/</font><font color="#000000">下找不到</font><font color="#ff0000">applicationContext.xml</font><font color="#000000">文件，看了下，myeclipse自动生成的</font><font color="#ff0000">applicationContext.xml</font><font color="#000000">放在</font><font color="#ff0000">/WEB-INF/classes</font><font color="#000000">下，难怪找不到，终于发现问题了，下面在</font><font color="#ff0000">web.xml</font><font color="#000000">中做如下配置即可解决：</font></font></p>
<p><font color="#ff0000"><font color="#000000"><font color="#ff0000">&lt;context-param&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;param-value&gt;/WEB-INF/classes/applicationContext.xml&lt;/param-value&gt;&nbsp;&nbsp;<br />
&lt;/context-param&gt; </font><br />
</font></font></p><img src ="http://www.blogjava.net/wangbbs2007/aggbug/299221.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐vs乐</a> 2009-10-21 16:49 <a href="http://www.blogjava.net/wangbbs2007/articles/299221.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts2.0 如何获取action中的值(二) </title><link>http://www.blogjava.net/wangbbs2007/articles/299141.html</link><dc:creator>乐vs乐</dc:creator><author>乐vs乐</author><pubDate>Wed, 21 Oct 2009 01:10:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/299141.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/299141.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/299141.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/299141.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/299141.html</trackback:ping><description><![CDATA[<div class="postText">1.index.jsp<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;s:form action="HelloChina.action" method="post"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Name: &lt;s:textfield name="name" value=""/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;s:submit /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/s:form&gt;<br />
2.HelloChina <br />
<p>package com.xushi.bll;</p>
<p>import java.util.Map;</p>
<p>import javax.servlet.http.HttpServletRequest;</p>
<p>import org.apache.struts2.ServletActionContext;</p>
<p>import com.opensymphony.xwork2.ActionContext;<br />
import com.opensymphony.xwork2.ActionSupport;</p>
<p>public class HelloChina extends ActionSupport {<br />
&nbsp; private String name;<br />
&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; public String getName() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return name;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; public void setName(String name) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.name = name;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp; public String execute() {<br />
&nbsp;&nbsp;&nbsp;&nbsp; HttpServletRequest request = ServletActionContext.getRequest();<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;request.getSession().setAttribute("abc", request.getParameter("name"));<br />
//Map map=ActionContext.getContext().getSession();<br />
&nbsp;&nbsp;//&nbsp;&nbsp; &nbsp;map.put("abc", request.getParameter("name"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return "test";<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
}<br />
<br />
3.test.jsp<br />
&lt;%@ page language="java" contentType="text/html; charset=UTF-8"<br />
&nbsp;&nbsp;&nbsp; pageEncoding="UTF-8"%&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt;<br />
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt;<br />
&lt;title&gt;Insert title here&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;s:property value="#session.abc" /&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
<br />
4.struts.xml<br />
&lt;action name="HelloChina" class="com.xushi.bll.HelloChina"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;result name="test"&gt;/pack/test.jsp&lt;/result&gt;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&lt;/action&gt;</p>
</div><img src ="http://www.blogjava.net/wangbbs2007/aggbug/299141.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐vs乐</a> 2009-10-21 09:10 <a href="http://www.blogjava.net/wangbbs2007/articles/299141.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts2.0 如何获取action中的值(一)</title><link>http://www.blogjava.net/wangbbs2007/articles/299138.html</link><dc:creator>乐vs乐</dc:creator><author>乐vs乐</author><pubDate>Wed, 21 Oct 2009 00:59:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/299138.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/299138.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/299138.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/299138.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/299138.html</trackback:ping><description><![CDATA[1.index.jsp<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;s:form action="HelloChina.action" method="post"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Name: &lt;s:textfield name="name" value=""/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;s:submit /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/s:form&gt;<br />
2.HelloChina <br />
<p>package com.xushi.bll;</p>
<p>import java.util.Map;</p>
<p>import javax.servlet.http.HttpServletRequest;</p>
<p>import org.apache.struts2.ServletActionContext;</p>
<p>import com.opensymphony.xwork2.ActionContext;<br />
import com.opensymphony.xwork2.ActionSupport;</p>
<p>public class HelloChina extends ActionSupport {<br />
&nbsp; private String name;<br />
&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; public String getName() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return name;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; public void setName(String name) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.name = name;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp; public String execute() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return "test";<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
}<br />
<br />
3.test.jsp<br />
&lt;%@ page language="java" contentType="text/html; charset=UTF-8"<br />
&nbsp;&nbsp;&nbsp; pageEncoding="UTF-8"%&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt;<br />
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt;<br />
&lt;title&gt;Insert title here&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;s:textfield value="${requestScope.name}"&gt;&lt;/s:textfield&gt;<br />
&lt;s:property value="name"/&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
<br />
4.struts.xml<br />
&lt;action name="HelloChina" class="com.xushi.bll.HelloChina"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;result name="test"&gt;/pack/test.jsp&lt;/result&gt;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&lt;/action&gt;</p><img src ="http://www.blogjava.net/wangbbs2007/aggbug/299138.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐vs乐</a> 2009-10-21 08:59 <a href="http://www.blogjava.net/wangbbs2007/articles/299138.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>s:iterator</title><link>http://www.blogjava.net/wangbbs2007/articles/298431.html</link><dc:creator>乐vs乐</dc:creator><author>乐vs乐</author><pubDate>Thu, 15 Oct 2009 10:35:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/298431.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/298431.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/298431.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/298431.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/298431.html</trackback:ping><description><![CDATA[&lt;% <br />
&nbsp;&nbsp;&nbsp; List li = new ArrayList(); <br />
&nbsp;&nbsp;&nbsp; for(int i=0;i &lt;5;i++){ <br />
&nbsp;&nbsp;&nbsp; List l = new ArrayList(); <br />
&nbsp;&nbsp;&nbsp; l.add(i+"1"); <br />
&nbsp;&nbsp;&nbsp; l.add(i+"2"); <br />
&nbsp;&nbsp;&nbsp; li.add(l); <br />
&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp; request.setAttribute("list",li); <br />
&nbsp; %&gt; <br />
&nbsp; &lt;p&gt;迭代测试222222222222222 &lt;/p&gt; <br />
&nbsp; &lt;s:iterator value="#request.list" id="list1"&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;s:iterator value="#list1" &gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;s:property /&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/s:iterator&gt; <br />
&nbsp; &lt;/s:iterator&gt;<img src ="http://www.blogjava.net/wangbbs2007/aggbug/298431.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐vs乐</a> 2009-10-15 18:35 <a href="http://www.blogjava.net/wangbbs2007/articles/298431.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts2 标签 实现 for循环</title><link>http://www.blogjava.net/wangbbs2007/articles/298264.html</link><dc:creator>乐vs乐</dc:creator><author>乐vs乐</author><pubDate>Wed, 14 Oct 2009 09:46:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/298264.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/298264.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/298264.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/298264.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/298264.html</trackback:ping><description><![CDATA[&lt;s:iterator value="#request.page" id="fot"&gt;<br />
第&lt;s:property value="currentPage"/&gt;页<br />
共&lt;s:property value="totalPages"/&gt;页<br />
<br />
&lt;s:bean name="org.apache.struts2.util.Counter" id="counter"&gt;<br />
&nbsp;&nbsp; &lt;s:param name="first" value="1" /&gt;<br />
&nbsp;&nbsp; &lt;s:param name="last" value="#fot.totalPages" /&gt; <br />
&nbsp;&nbsp; &lt;s:iterator&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; counter:&lt;s:property/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option value="&lt;s:property/&gt;" &lt;s:property value="currentPage"/&gt; &gt;第&lt;s:property/&gt;页&lt;/option&gt;<br />
&nbsp;&nbsp; &lt;/s:iterator&gt;<br />
&lt;/s:bean&gt;<br />
<br />
&nbsp;&lt;/s:iterator&gt;<img src ="http://www.blogjava.net/wangbbs2007/aggbug/298264.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐vs乐</a> 2009-10-14 17:46 <a href="http://www.blogjava.net/wangbbs2007/articles/298264.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts2 note  拦截器</title><link>http://www.blogjava.net/wangbbs2007/articles/298109.html</link><dc:creator>乐vs乐</dc:creator><author>乐vs乐</author><pubDate>Tue, 13 Oct 2009 13:09:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/298109.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/298109.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/298109.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/298109.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/298109.html</trackback:ping><description><![CDATA[如果自己定义了 拦截器<br />
要手动添加默认的拦截器<br />
&lt;interceptor-ref name="defaultStack"/&gt;<img src ="http://www.blogjava.net/wangbbs2007/aggbug/298109.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐vs乐</a> 2009-10-13 21:09 <a href="http://www.blogjava.net/wangbbs2007/articles/298109.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>STRUTS2.0 常用标签使用</title><link>http://www.blogjava.net/wangbbs2007/articles/298029.html</link><dc:creator>乐vs乐</dc:creator><author>乐vs乐</author><pubDate>Tue, 13 Oct 2009 02:20:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/298029.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/298029.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/298029.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/298029.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/298029.html</trackback:ping><description><![CDATA[<p>1． Struts2页面开发中常用标签使用说明<br />
1.1．往action里传值的使用方式：<br />
&lt;input name="userName" type="text" class="input6" size="15"&gt;<br />
a. userName属性需要在访问的action中提供相应的属性，并有SET/GET方法。<br />
b. 可以不在访问的action中提供相应的属性，用request.getParameter(&#8220;userName&#8221;);</p>
<p>1.2．显示标签 property 用于输出指定值：<br />
&lt;s:property value=" userName "/&gt; 当action返回到指定页面是，可以通过该标签显示action中的属性</p>
<p>信息。（注 userName必须在action中存在，并有GET方法）。</p>
<p></p>
<p>1.3．往对象中传值&lt;s:textfield&gt; 用于从页面往action中的对象内传值：<br />
&lt;s:text name="user. userName " id="username"/&gt;<br />
该标签可以在页面中向action中的实体对象内直接传值。（注：在action中要存在user对象，并有</p>
<p>SET/GET方法。）</p>
<p>1.4．判断&lt;s:if&gt; &lt;/s:if&gt; 用于在页面中判断指定数据<br />
&lt;s:if test="userName == admin"&gt;&#8230;. &lt;/s:if&gt;<br />
&lt;s:else&gt;&#8230;. &lt;/s:else&gt;<br />
该标签用于对指定的数据进行判断，但指定的数据必须在action中存在。</p>
<p>1.5．迭代&lt;s:iterator&gt;用于将List、Map、ArrayList等集合进行循环遍历<br />
&lt;s:iterator value="userList" id="user" status="u"&gt;<br />
&lt;s:property value="userName"/&gt;&lt;/a&gt;<br />
&lt;/s:iterator&gt;<br />
该标签用于将userList集合中的元素进行循环，用过property进行显示集合中的指定元素值。</p>
<p>1.6．URL地址标签，&lt;s:url&gt;用于生成一个URL地址，可以通过URL标签指定的&lt;s:param&gt;子元素向URL地址</p>
<p>发送请求参数<br />
&lt;s:url action=" "&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;s:param name=" " value=""&gt;&lt;/s:param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/s:url&gt;<br />
其中action为请求地址，param子元素为地址后面所带的参数。</p>
<p>1.7．超链接 &lt;a href &gt;一般和&lt;s:url&gt;标签一起使用，用于带多个参数。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;s:url id='url' action='HelloWorld'&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;s:param name="request_locale"&gt;en&lt;/s:param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/s:url&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;s:a href="%{url}"&gt;超链接&lt;/s:a&gt;</p>
<p>1.8．set标签，用于将某个值放入指定的范围内。例如application,session等。<br />
&lt;s:set name="user" value="userName" scope=&#8221;request&#8221;/&gt;<br />
将user值放入request范围内。</p>
<p>2． Struts2页面开发中常用标签使用规范：<br />
1.1．通过&lt;input name="userName" type="text" class=" " size="15"&gt;<br />
往action中传值，action中要有相应的属性，并提供SET/GET方法。<br />
（在数量少时可以使用request.getParameter(&#8220;userName&#8221;);）</p>
<p>1.2．在页面显示action传来的数据，使用property标签。需要显示的数据从action中获得。</p>
<p>1.3．往action中的实体对象内传值，使用textfield标签。</p>
<p>1.4．在页面中判断指定值使用&lt;s:if&gt;标签。判断数据从action中获得。</p>
<p>1.5．在页面中需要循环列表显示的数据使用&lt;s:iterator&gt;标签，列表数据从action中获得。</p>
<p>1.6．URL地址和超链接可以使用&lt;a href&gt;和&lt;s:url&gt;，在传多值时建议&lt;a href&gt;和&lt;s:url&gt;一起使用</p>
<p>&nbsp;</p>
<p>按字母分类：</p>
<p>A：<br />
&lt;s:a xhref=""&gt;&lt;/s:a&gt;-----超链接，类似于html里的&lt;a&gt;&lt;/a&gt;<br />
&lt;s:action name=""&gt;&lt;/s:action&gt;-----执行一个view里面的一个action<br />
&lt;s:actionerror/&gt;-----如果action的errors有值那么显示出来<br />
&lt;s:actionmessage/&gt;-----如果action的message有值那么显示出来<br />
&lt;s:append&gt;&lt;/s:append&gt;-----添加一个值到list，类似于list.add();<br />
&lt;s:autocompleter&gt;&lt;/s:autocompleter&gt;-----自动完成&lt;s:combobox&gt;标签的内容，这个是ajax</p>
<p>B：<br />
&lt;s:bean name=""&gt;&lt;/s:bean&gt;-----类似于struts1.x中的，JavaBean的值</p>
<p>C：<br />
&lt;s:checkbox&gt;&lt;/s:checkbox&gt;-----复选框<br />
&lt;s:checkboxlist list=""&gt;&lt;/s:checkboxlist&gt;-----多选框<br />
&lt;s:combobox list=""&gt;&lt;/s:combobox&gt;-----下拉框<br />
&lt;s:component&gt;&lt;/s:component&gt;-----图像符号</p>
<p>D：<br />
&lt;s:date/&gt;-----获取日期格式<br />
&lt;s:datetimepicker&gt;&lt;/s:datetimepicker&gt;-----日期输入框<br />
&lt;s:debug&gt;&lt;/s:debug&gt;-----显示错误信息<br />
&lt;s:div&gt;&lt;/s:div&gt;-----表示一个块，类似于html的&lt;div&gt;&lt;/div&gt;<br />
&lt;s:doubleselect list="" doubleName="" doubleList=""&gt;&lt;/s:doubleselect&gt;-----双下拉框</p>
<p>E：<br />
&lt;s:if test=""&gt;&lt;/s:if&gt;<br />
&lt;s:elseif test=""&gt;&lt;/s:elseif&gt;<br />
&lt;s:else&gt;&lt;/s:else&gt;-----这3个标签一起使用，表示条件判断</p>
<p>F：<br />
&lt;s:fielderror&gt;&lt;/s:fielderror&gt;-----显示文件错误信息<br />
&lt;s:file&gt;&lt;/s:file&gt;-----文件上传<br />
&lt;s:form action=""&gt;&lt;/s:form&gt;-----获取相应form的值</p>
<p>G：<br />
&lt;s:generator separator="" val=""&gt;&lt;/s:generator&gt;----和&lt;s:iterator&gt;标签一起使用</p>
<p>H：<br />
&lt;s:head/&gt;-----在&lt;head&gt;&lt;/head&gt;里使用，表示头文件结束<br />
&lt;s:hidden&gt;&lt;/s:hidden&gt;-----隐藏值</p>
<p>I：<br />
&lt;s:i18n name=""&gt;&lt;/s:i18n&gt;-----加载资源包到值堆栈<br />
&lt;s:include value=""&gt;&lt;/s:include&gt;-----包含一个输出，servlet或jsp页面<br />
&lt;s:inputtransferselect list=""&gt;&lt;/s:inputtransferselect&gt;-----获取form的一个输入<br />
&lt;s:iterator&gt;&lt;/s:iterator&gt;-----用于遍历集合</p>
<p>L：<br />
&lt;s:label&gt;&lt;/s:label&gt;-----只读的标签</p>
<p>M：<br />
&lt;s:merge&gt;&lt;/s:merge&gt;-----合并遍历集合出来的值</p>
<p>O：<br />
&lt;s:optgroup&gt;&lt;/s:optgroup&gt;-----获取标签组<br />
&lt;s:optiontransferselect doubleList="" list="" doubleName=""&gt;&lt;/s:optiontransferselect&gt;-----左右选择框</p>
<p>P：<br />
&lt;s:param&gt;&lt;/s:param&gt;-----为其他标签提供参数<br />
&lt;s:password&gt;&lt;/s:password&gt;-----密码输入框<br />
&lt;s:property/&gt;-----得到'value'的属性<br />
&lt;s:push value=""&gt;&lt;/s:push&gt;-----value的值push到栈中,从而使property标签的能够获取value的属性</p>
<p>R：<br />
&lt;s:radio list=""&gt;&lt;/s:radio&gt;-----单选按钮<br />
&lt;s:reset&gt;&lt;/s:reset&gt;-----重置按钮</p>
<p>S：<br />
&lt;s:select list=""&gt;&lt;/s:select&gt;-----单选框<br />
&lt;s:set name=""&gt;&lt;/s:set&gt;-----赋予变量一个特定范围内的值<br />
&lt;s:sort comparator=""&gt;&lt;/s:sort&gt;-----通过属性给list分类<br />
&lt;s:submit&gt;&lt;/s:submit&gt;-----提交按钮<br />
&lt;s:subset&gt;&lt;/s:subset&gt;-----为遍历集合输出子集</p>
<p>T：</p><img src ="http://www.blogjava.net/wangbbs2007/aggbug/298029.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐vs乐</a> 2009-10-13 10:20 <a href="http://www.blogjava.net/wangbbs2007/articles/298029.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jsp超链接 用 struts2  标签传多个参数 以及解决最后一个字乱码问题</title><link>http://www.blogjava.net/wangbbs2007/articles/298028.html</link><dc:creator>乐vs乐</dc:creator><author>乐vs乐</author><pubDate>Tue, 13 Oct 2009 02:16:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/298028.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/298028.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/298028.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/298028.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/298028.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; &lt;a href="<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;s:url action='Ypbf.action'&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;s:param name='title'&gt;&lt;s:property value="title"/&gt;&lt;/s:param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;s:param name='speciality'&gt;&lt;s:property value="speciality"/&gt;&lt;/s:param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;/s:url&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;s:property value="title"/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;/a&gt;<img src ="http://www.blogjava.net/wangbbs2007/aggbug/298028.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐vs乐</a> 2009-10-13 10:16 <a href="http://www.blogjava.net/wangbbs2007/articles/298028.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts2.0页面跳转css无效问题的解决方法</title><link>http://www.blogjava.net/wangbbs2007/articles/297877.html</link><dc:creator>乐vs乐</dc:creator><author>乐vs乐</author><pubDate>Mon, 12 Oct 2009 05:02:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/297877.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/297877.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/297877.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/297877.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/297877.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;只有注册用户登录后才能阅读该文。<a href='http://www.blogjava.net/wangbbs2007/articles/297877.html'>阅读全文</a><img src ="http://www.blogjava.net/wangbbs2007/aggbug/297877.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐vs乐</a> 2009-10-12 13:02 <a href="http://www.blogjava.net/wangbbs2007/articles/297877.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>&lt;s:property value="content" escape="false"/&gt;  放到input中不好使</title><link>http://www.blogjava.net/wangbbs2007/articles/297876.html</link><dc:creator>乐vs乐</dc:creator><author>乐vs乐</author><pubDate>Mon, 12 Oct 2009 04:11:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/297876.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/297876.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/297876.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/297876.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/297876.html</trackback:ping><description><![CDATA[&nbsp;&lt;input name="title" type="text" class="bian " id="ggtt" tabindex="1" size="30" value='&lt;s:property value="title" escape="false"/&gt;' /&gt;<br />
<br />
注意引号(单引号)<img src ="http://www.blogjava.net/wangbbs2007/aggbug/297876.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐vs乐</a> 2009-10-12 12:11 <a href="http://www.blogjava.net/wangbbs2007/articles/297876.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>strust2标签实践总结</title><link>http://www.blogjava.net/wangbbs2007/articles/297847.html</link><dc:creator>乐vs乐</dc:creator><author>乐vs乐</author><pubDate>Mon, 12 Oct 2009 01:37:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/297847.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/297847.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/297847.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/297847.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/297847.html</trackback:ping><description><![CDATA[1：输出action中属性值，在jsp页面中显示用：&lt;s:property&nbsp; value="属性名" /&gt; <br />
2：在页面中实现自动增加的序号用iterator的statuts的index属性 eg： <br />
&lt;s:iterator value="#request.inOutAccountList" id="data" status="listStat"&gt; <br />
&lt;s:property value="#listStat.index+1"/&gt; <br />
&lt;!—输出当前迭代元素的索引 <br />
&lt;s:property value="#listStat.index"/&gt; <br />
&lt;!—输出当前迭代了几个元素 <br />
&lt;s:property value="#listStat.count"/&gt; <br />
&lt;!—返回当前迭代元素的索引是否为奇数 <br />
&lt;s:property value="#listStat.odd"/&gt; <br />
&lt;!—返回当前迭代元素的索引是否为偶数 <br />
&lt;s:property value="#listStat.event"/&gt; <br />
&lt;!—返回当前元素是否为第一个元素 <br />
&lt;s:property value="#listStat.first"/&gt; <br />
&lt;!—返回当前元素是否为最后一个元素 <br />
&lt;s:property value="#listStat.last"/&gt; <br />
&lt;/s:iterator&gt; <br />
3:在action类中取得request和session对象的方法 <br />
Map session&nbsp; = ActionContext.getContext().getSession(); <br />
HttpServletRequest&nbsp; request = ServletActionContext.getRequest (); <br />
设置它们的值的方法: <br />
session.put("operation", "add"); <br />
request.setAttribute("name", name); <br />
页面中取得它们的值: <br />
&lt;s:property value="#session.operation"/&gt; <br />
&lt;s:property value="#session[&#8216;operation&#8217;]"/&gt; <br />
${sessionScope.TEST} == ${session.TEST} <br />
&lt;s:if test="#session.operation =='add'"&gt; <br />
&lt;s:if test="#session[&#8216;operation&#8217;]=='add'"&gt; <br />
&lt;s:if test="#session[&#8216;operation&#8217;]==null"&gt; <br />
<br />
&lt;s:property value="#request.name"/&gt; <br />
${requestScope.name} == ${request.name} <br />
4:页面中奇偶行样式不一样的控制方法： <br />
&lt;tr class="&lt;s:if test='#listStat.odd==true'&gt;tableStyle-tr1&lt;/s:if&gt;&lt;s:else&gt;tableStyle-tr2&lt;/s:else&gt;" &gt; <br />
5:单选框和复选框的使用方法 <br />
1):可以设置默认选中值，注意list的值的设置，通过这种方式使key和value不一样，这种方法比较常用(checkboxlist or radio) <br />
&lt;s:radio name="uncarInsPolicy.policyStateCode" <br />
list="#{'5':'通过' , '2':'不通过'}" listKey="key" listValue="value" value='5' /&gt; <br />
2):这里的key和value的值是一样的(checkboxlist or radio) <br />
&lt;s:checkboxlist list="{'Red', 'Blue', 'Green'}" name="favoriteColor"/&gt; <br />
6:struts2 中的标签会生成类似由&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;构成的字串（具体什么标签生成什么，可以查 看生成后的页面的源代码）如果不限制这些多余代码的生成，页面将变得无法控制，所以一般我们是不希望它生成多余的代码的，具体的设置方法如果，在 struts.xml中统一配置 <br />
&lt;constant name="struts.ui.theme" value="simple"/&gt;加上该句即可 <br />
也可以通过在页面中将tag的theme属性设为"simple"取消其默认的表格布局 <br />
不过最好是：自定义一个theme，并将其设为默认应用到整个站点，如此一来就可以得到统一的站点风格 <br />
7：jsp页面中格式化日期的方法 <br />
&lt;s:date name="unCarInsModificationInfo.createTime" format="yyyy-MM-dd" nice="false"/&gt;这样就可以将日期格式化为yyyy－MM－dd的形式 <br />
8：默认情况下，当请求action发生时，Struts运行时（Runtime）根据struts.xml里的Action映射集(Mapping)，实例化action对应的类，并调用其execute方法。当然，我们可以通过以下两种方法改变这种默认调用 <br />
1）在classes/sturts.xml中新建Action，并指明其调用的方法 <br />
比如想调用action类中的 <br />
public String aliasAction() { <br />
&nbsp;&nbsp;&nbsp; message ="自定义Action调用方法"; <br />
&nbsp;&nbsp;&nbsp; return SUCCESS; <br />
} <br />
则在classes/sturts.xml中加入下面代码： <br />
&lt;action name="AliasHelloWorld" class="tutorial.HelloWorld"method="aliasAction"&gt; <br />
&nbsp;&nbsp; &lt;result&gt;/HelloWorld.jsp&lt;/result&gt; <br />
&lt;/action&gt; <br />
既可用action名调用该方法了 <br />
2）（比较常用） <br />
访问Action时，在Action名后加上&#8220;!xxx&#8221;（xxx为方法名）。 <br />
9：Struts 2.0有两个配置文件，struts.xml和struts.properties都是放在WEB-INF/classes/下。 <br />
struts.xml用于应用程序相关的配置 <br />
struts.properties用于Struts 2.0的运行时（Runtime）的配置 <br />
10:在action类中取得web下某一文件夹物理路径（绝对路径）的方法 <br />
filePath = ServletActionContext.getServletContext().getRealPath("/upLoadFiles") <br />
11：要想返回的页面不是一个直接JSP页面而是要先通过返回action中的方法读取相应的数据再返回到jsp页面，有两种方法 <br />
1）在struts.xml中这么设置 <br />
&lt;result name="list" type="redirect-action"&gt;sysmanage/UserBaseInfoAction!findUserBaseInfo.action&lt;/result&gt; <br />
2）在action中返回时直接调用这个方法即可 <br />
return findList（）； <br />
12：设置checkboxlist中默认值的方法 <br />
&lt;s:checkboxlist name="skills1"="Skills 1" list="{ 'Java', '.Net', 'RoR', 'PHP' }" value="{ 'Java', '.Net' }" /&gt; <br />
&lt;s:checkboxlist name="skills2" <br />
&nbsp;&nbsp;&nbsp; label="Skills 2" list="#{ 1:'Java', 2: '.Net', 3: 'RoR', 4: 'PHP' }" listKey="key" listValue="value" value="{ 1, 2, 3 }"/&gt; <br />
13：二级级连下拉框 <br />
&lt;s:set name="foobar" <br />
&nbsp;&nbsp; value="#{'Java': {'Spring', 'Hibernate', 'Struts 2'}, '.Net': {'Linq', ' ASP.NET 2.0'}, 'Database': {'Oracle', 'SQL Server', 'DB2', 'MySQL'}}" /&gt; <br />
&lt;s:doubleselect list="#foobar.keySet()" doubleName="technology" doubleList="#foobar[top]" label="Technology" /&gt; <br />
14:在页面中取出list对象中的属性值 <br />
&lt;s:if test="list!=null&amp;&amp;list.size()&gt;0"&gt; <br />
&lt;s:iterator value="list" status=&#8221;stat&#8221;&gt; <br />
&lt;!—如果list中存储形式为select id,name,title-- &gt; <br />
&lt;s:property value="list[#stat.index][0]" /&gt; <br />
&lt;!—如果list中存储多对象如left join Role left join Group-- &gt; <br />
&lt;s:property value="list[#stat.index][0].title" /&gt; <br />
&lt;s:property value="list[#stat.index][1].title" /&gt; <br />
&lt;!—如果为Map形式存储-- &gt; <br />
&lt;s:iterator value="mapUsers.keySet()" id="id"&gt; <br />
&nbsp;&nbsp; &lt;s:property value="#id"/&gt; <br />
&nbsp;&nbsp; &lt;s:iterator value="mapUsers.get(#id)"&gt; <br />
&nbsp;&nbsp; &lt;s:property value="nickname"/&gt;||&lt;s:property value="UName"/&gt; <br />
&nbsp;&nbsp; &lt;/s:iterator&gt; <br />
&lt;/s:iterator&gt; <br />
&lt;!—判断是否为奇数-- &gt; <br />
&lt;s:if test="stat.odd == true"&gt;&lt;/s:if&gt; <br />
&lt;!—判断是否为第一条数据-- &gt; <br />
&lt;s:if test="#stat.index==0"&gt; <br />
&lt;s:if test="#stat.first"&gt; <br />
&lt;!—判断属性是否为null-- &gt; <br />
&lt;s:if test="list[#stat.index][0].title ==null&#8221;&gt; <br />
&lt;!—将属性值声明为变量-- &gt; <br />
&lt;s:set name="title" value="list[#stat.index][0].title " &gt;&lt;/s:set&gt; <br />
&lt;!—判断属性值-- &gt; <br />
&lt;s:if test="list[#stat.index][0].title ==4"&gt; <br />
&lt;s:if test="list[#stat.index][0].title ==&#8217;admin&#8217;"&gt; <br />
&lt;s:if test="#title ==4"&gt; <br />
&lt;s:if test="list[#stat.index][0].title.length()&gt;15"&gt; <br />
&lt;s:property value="list[#stat.index][0].title.substring(0,15)" /&gt;... <br />
&lt;/s:if&gt; <br />
<br />
<br />
14:获取select值 <br />
&lt;s:select list="listDept" name="selectDept" listKey="val" listValue="prntext" disabled = "true" value="deptSelected" /&gt; <br />
<br />
&lt;s:hidden name="selectDept" value="%{deptSelected}"/&gt; <br />
<br />
15:循环指定int型数据 <br />
其中first属性指定循环起始值，last指定循环终止值，其它相关属性可以查看org.apache.struts2.util.Counter类源码。在下面迭代器中输入循环的当前值，即：current <br />
&lt;s:bean name="org.apache.struts2.util.Counter"&gt; <br />
&lt;s:param name="first" value="1" /&gt; <br />
&lt;s:param name="last" value="pages" /&gt;&lt;!—pages page为action中属性 <br />
&lt;s:iterator&gt; <br />
&lt;s:if test="current-1==page"&gt; <br />
&lt;font color="red"&gt;&lt;s:property /&gt;&lt;/font&gt; <br />
&lt;/s:if&gt; <br />
&lt;s:else&gt; <br />
[&lt;s:property /&gt;] <br />
&lt;/s:else&gt; <br />
&lt;/s:iterator&gt; <br />
&lt;/s:bean&gt; <br />
<br />
16:输出国际化文件中的值 <br />
&lt;s:text name=&#8221;key&#8221;&gt; <br />
${getText[&#8220;key&#8221;]} <br />
17:输出Action中的消息 <br />
&lt;s:actionmessage /&gt; <br />
18:输出Action中的错误 <br />
&lt;s:actionerror /&gt; <br /><img src ="http://www.blogjava.net/wangbbs2007/aggbug/297847.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐vs乐</a> 2009-10-12 09:37 <a href="http://www.blogjava.net/wangbbs2007/articles/297847.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts2.0乱码  在struts.xml里面设置struts.i18n.encoding=utf-8依然出现乱码是怎么回事呀</title><link>http://www.blogjava.net/wangbbs2007/articles/297804.html</link><dc:creator>乐vs乐</dc:creator><author>乐vs乐</author><pubDate>Sun, 11 Oct 2009 11:20:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/297804.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/297804.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/297804.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/297804.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/297804.html</trackback:ping><description><![CDATA[需要验证是否有以下错误. <br />
是 get&nbsp; 还是 post 传参<br />
<br />
1. 第四个可能性就是在web.xml中需要设置一个Filter ,将编码设置成utf-8<br />
&nbsp;&nbsp;&nbsp;&lt;!-- STRUTS2 utf-8 --&gt;<br />
&nbsp;&lt;filter&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;filter-name&gt;struts-cleanup&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;filter-class&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; org.apache.struts2.dispatcher.ActionContextCleanUp<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/filter-class&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &lt;/filter&gt;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &lt;filter-mapping&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;filter-name&gt;struts-cleanup&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;url-pattern&gt;/*&lt;/url-pattern&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/filter-mapping&gt;<br />
<br />
2. 第一个可能性是显示的jsp里面的content-type要设置对. <br />
&lt;%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%&gt; <br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt;<br />
<br />
3. 第二个就是jsp文件的编码需要是ASCII编码形式<br />
<br />
4. 第三个就是应用服务器的版本, 如果是tomcat 的话,5.5版本后需要在每个页面都设置<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt;<br />
<br />
在server.xml中 <br />
&lt;Connector port="8080" <br />
<br />
maxThreads="150" minSpareThreads="25" maxSpareThreads="75" <br />
<br />
enableLookups="false" redirectPort="8443" acceptCount="100" <br />
<br />
debug="0" connectionTimeout="20000" useBodyEncodingForURI="true" <br />
<br />
disableUploadTimeout="true" URIEncoding=&#8221;UTF-8&#8221;/&gt; <br />
<br />
<br />
加上就可以.<br />
<br />
如果还有问题可能就是数据库的问题. <br />
数据库的连接字符串需要设置对.<img src ="http://www.blogjava.net/wangbbs2007/aggbug/297804.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐vs乐</a> 2009-10-11 19:20 <a href="http://www.blogjava.net/wangbbs2007/articles/297804.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts 2 struts.xml </title><link>http://www.blogjava.net/wangbbs2007/articles/297802.html</link><dc:creator>乐vs乐</dc:creator><author>乐vs乐</author><pubDate>Sun, 11 Oct 2009 10:39:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/297802.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/297802.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/297802.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/297802.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/297802.html</trackback:ping><description><![CDATA[<div class="postText">&lt;?xml version="1.0" encoding="GBK" ?&gt;<br />
&lt;!--指定struts2配置文件的DTD信息--&gt;<br />
&lt;!DOCTYPE struts PUBLIC <br />
&nbsp;"-//apache Software Foundation//DTD Struts Configuation 2.0//EN"<br />
&nbsp;"http://struts.apache.org/dtds/struts-2.0.dtd"&gt;<br />
&lt;!-- struts 是struts2配置文件的根元素--&gt;<br />
&lt;struts&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;!--设置Struts 2应用是否使用开发模式--&gt;&nbsp;<br />
&nbsp;&lt;constant name="struts.devMode" value="true"&gt;&lt;/constant&gt;<br />
&nbsp;&lt;!--每次Http请求到达时,是否重新加载资源文件--&gt;<br />
&nbsp;&lt;constant name="struts.i18n.reload" value="true"&gt;&lt;/constant&gt;<br />
&nbsp;&lt;!--struts.xml文件系统改变后,系统是否重新加载该文件--&gt;<br />
&nbsp;&lt;constant name="struts.configuration.xml.reload" value="true"&gt;&lt;/constant&gt;<br />
&nbsp;&lt;!--指定web应用的默认编码集--&gt;<br />
&nbsp;&lt;constant name="struts.i18n.encoding" value="gb2312"&gt;&lt;/constant&gt;<br />
&nbsp;&lt;!--指定所需的国际化资源--&gt;<br />
&nbsp;&lt;constant name="struts.custom.i18n.resources" value="messageResource"&gt;&lt;/constant&gt;<br />
&nbsp;&lt;!--指定需要Struts 2处理请求的后缀--&gt;<br />
&nbsp;&lt;constant name="struts.action.extension" value="jspa" /&gt;<br />
&nbsp;&lt;!--struts2的Action必须放在指定的包空间下定义--&gt;<br />
&nbsp;&lt;package name="strutsqs" extends="struts-default"&gt;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&lt;global-results&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;!-- 当返回login视图名时,转入/login/login.jsp页面登录 --&gt;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&lt;result name="common_error"&gt;/deal/error.jsp&lt;/result&gt;<br />
&nbsp;&nbsp;&lt;/global-results&gt;&nbsp;&nbsp;<br />
&nbsp;&lt;/package&gt;&nbsp;<br />
&nbsp;&lt;include file="struts-user.xml"&gt;&lt;/include&gt;<br />
&lt;/struts&gt; </div><img src ="http://www.blogjava.net/wangbbs2007/aggbug/297802.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐vs乐</a> 2009-10-11 18:39 <a href="http://www.blogjava.net/wangbbs2007/articles/297802.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts2,Spring,Hibernate整合例子一个</title><link>http://www.blogjava.net/wangbbs2007/articles/295326.html</link><dc:creator>乐vs乐</dc:creator><author>乐vs乐</author><pubDate>Wed, 16 Sep 2009 07:50:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/295326.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/295326.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/295326.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/295326.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/295326.html</trackback:ping><description><![CDATA[<p><span style="color: #ff0000">项目目录：</span></p>
<p><span style="color: #ff0000"><br />
<br />
&nbsp;</span></p>
<p><span style="color: #ff0000">User.java</span></p>
<p>package com.zx.test.model;</p>
<p>public class User {</p>
<p>&nbsp;private Long id;<br />
&nbsp;<br />
&nbsp;private String name;<br />
&nbsp;<br />
&nbsp;private Integer age;<br />
&nbsp;<br />
&nbsp;private String password;</p>
<p>&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp; get/set方法<br />
&nbsp;<br />
}</p>
<p><span style="color: #ff0000">User.hbm.xml</span></p>
<p>&lt;?xml version="1.0" encoding="utf-8"?&gt;<br />
&lt;!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"<br />
"<a href="http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd</a>"&gt;</p>
<p>&lt;hibernate-mapping&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;class name="com.zx.test.model.User" table="LB_USER"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;id name="id" type="java.lang.Long"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="ID"/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;generator class="sequence"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="sequence"&gt;SEQ_LB_USER&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/generator&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/id&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="name" type="java.lang.String"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="name" length="20"/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="age" type="java.lang.Integer"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="age" length="2"/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="password" type="java.lang.String"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="password" length="20"/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &lt;/class&gt;<br />
&lt;/hibernate-mapping&gt;</p>
<p><span style="color: #ff0000">UserDao.java</span></p>
<p>package com.zx.test.dao;</p>
<p>import org.springframework.orm.hibernate3.support.HibernateDaoSupport;</p>
<p>import com.zx.test.model.User;</p>
<p>public class UserDao extends HibernateDaoSupport {<br />
&nbsp;<br />
&nbsp;/**<br />
&nbsp; * 保存user<br />
&nbsp; * @param user<br />
&nbsp; */<br />
&nbsp;public void saveUser(User user){<br />
//&nbsp;&nbsp;spring自带方法 保存<br />
&nbsp;&nbsp;this.getHibernateTemplate().save(user);<br />
&nbsp;}</p>
<p>//update, delete ,findAll 方法同上，省略！</p>
<p>}</p>
<p>&nbsp;</p>
<p><span style="color: #ff0000">UserService.java</span></p>
<p>package com.zx.test.service;</p>
<p>import com.zx.test.dao.UserDao;<br />
import com.zx.test.model.User;</p>
<p>public class UserService {</p>
<p>&nbsp;private UserDao userDao;<br />
&nbsp;<br />
&nbsp;public void setUserDao(UserDao userDao) {<br />
&nbsp;&nbsp;this.userDao = userDao;<br />
&nbsp;}</p>
<p><br />
&nbsp;public void saveUser(User user){<br />
&nbsp;&nbsp;userDao.saveUser(user);<br />
&nbsp;}</p>
<p>// 在此处添加业务逻辑方法；<br />
}</p>
<p><span style="color: #ff0000">UserAction.java</span></p>
<p>&nbsp;</p>
<p>package com.zx.test.action;</p>
<p>import com.opensymphony.xwork2.ActionSupport;<br />
import com.zx.test.model.User;<br />
import com.zx.test.service.UserService;</p>
<p>public class UserAction extends ActionSupport {</p>
<p>&nbsp;private User user;<br />
&nbsp;&nbsp; <br />
&nbsp;public User getUser() {<br />
&nbsp;&nbsp;return user;<br />
&nbsp;}</p>
<p>&nbsp;public void setUser(User user) {<br />
&nbsp;&nbsp;this.user = user;<br />
&nbsp;}<br />
&nbsp;<br />
&nbsp;<br />
&nbsp;private UserService userService ;</p>
<p>&nbsp;public void setUserService(UserService userService) {<br />
&nbsp;&nbsp;this.userService = userService;<br />
&nbsp;}<br />
&nbsp;<br />
&nbsp;<br />
&nbsp;public String userAdd(){<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;this.userService.saveUser(user);<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;return SUCCESS;<br />
&nbsp;}</p>
<p>//添加action方法</p>
<p>}</p>
<p><span style="color: #ff0000">struts.xml:</span></p>
<p>&lt;?xml version="1.0" encoding="UTF-8" ?&gt;</p>
<p>&lt;!DOCTYPE struts PUBLIC<br />
&nbsp;&nbsp;&nbsp; "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"<br />
&nbsp;&nbsp;&nbsp; "<a href="http://struts.apache.org/dtds/struts-2.0.dtd">http://struts.apache.org/dtds/struts-2.0.dtd</a>"&gt;<br />
&nbsp;&nbsp;&nbsp; <br />
&lt;struts&gt;<br />
&nbsp; &lt;include file="struts-default.xml"/&gt;<br />
&nbsp; &lt;package name="user" extends="struts-default" namespace="/user"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;action name="userAdd" class="userAction" method="userAdd"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;result name="success"&gt;/userShow.jsp&lt;/result&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/action&gt;<br />
&nbsp; &lt;/package&gt;<br />
&lt;/struts&gt;</p>
<p><span style="color: #ff0000">hibernate.cfg.xml</span></p>
<p>&lt;?xml version='1.0' encoding='UTF-8'?&gt;<br />
&lt;!DOCTYPE hibernate-configuration PUBLIC<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "-//Hibernate/Hibernate Configuration DTD 3.0//EN"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "<a href="http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd</a>"&gt;<br />
&lt;hibernate-configuration&gt;<br />
&lt;session-factory&gt;<br />
&nbsp;&lt;!-- 基本配置 --&gt;<br />
&nbsp;&lt;property name="dialect"&gt;<br />
&nbsp;&nbsp;org.hibernate.dialect.Oracle9Dialect<br />
&nbsp;&lt;/property&gt;<br />
&nbsp;&lt;property name="show_sql"&gt;false&lt;/property&gt;<br />
&nbsp;&lt;property name="format_sql"&gt;true&lt;/property&gt;<br />
&nbsp;&lt;property name="bytecode.use_reflection_optimizer"&gt;true&lt;/property&gt;<br />
&nbsp;&lt;property name="max_fetch_depth"&gt;2&lt;/property&gt;<br />
&nbsp;&lt;property name="default_batch_fetch_size"&gt;8&lt;/property&gt;<br />
&nbsp;&lt;property name="jdbc.batch_size"&gt;20&lt;/property&gt;<br />
&nbsp;<br />
&nbsp;<br />
&nbsp;&lt;mapping resource="com/zx/test/model/User.hbm.xml" /&gt;</p>
<p>&lt;/session-factory&gt;<br />
&lt;/hibernate-configuration&gt;</p>
<p>&nbsp;</p>
<p><span style="color: #ff0000">applicationContext.xml</span></p>
<p><br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&lt;bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"&gt;<br />
&nbsp; &nbsp;&nbsp;&lt;property name="driverClassName" value ="oracle.jdbc.driver.OracleDriver"/&gt;<br />
&nbsp; &nbsp;&nbsp;&lt;property name="url" value ="jdbc:oracle:thin:@192.168.0.95:1521:ZXDB2"/&gt;<br />
&nbsp; &nbsp;&nbsp;&lt;property name="username" value ="test"/&gt;<br />
&nbsp; &nbsp;&nbsp;&lt;property name="password" value ="test"/&gt;<br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp;&lt;/bean&gt;<br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp;&lt;bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&gt;<br />
&nbsp; &nbsp;&nbsp;&lt;property name="dataSource"&gt;<br />
&nbsp; &nbsp;&nbsp;&nbsp;&lt;ref local="dataSource"/&gt;<br />
&nbsp; &nbsp;&nbsp;&lt;/property&gt;<br />
&nbsp; &nbsp;&nbsp;&lt;property name="configLocation"&gt;<br />
&nbsp; &nbsp;&nbsp;&nbsp;&lt;value type="org.springframework.core.io.Resource"&gt;classpath:hibernate.cfg.xml&lt;/value&gt;<br />
&nbsp; &nbsp;&nbsp;&lt;/property&gt;<br />
&nbsp; &nbsp;&lt;/bean&gt;<br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp;&lt;bean id="userDao" class="com.zx.test.dao.UserDao"&gt;<br />
&nbsp; &nbsp;&nbsp; &lt;property name="sessionFactory" ref="sessionFactory"&gt;&lt;/property&gt;<br />
&nbsp; &nbsp;&lt;/bean&gt;<br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp;&lt;bean id="userService" class="com.zx.test.service.UserService"&gt;<br />
&nbsp; &nbsp;&nbsp; &lt;property name="userDao" ref="userDao"&gt;&lt;/property&gt;<br />
&nbsp; &nbsp;&lt;/bean&gt;<br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp;&lt;bean id="userAction" class="com.zx.test.action.UserAction" scope="prototype"&gt;<br />
&nbsp; &nbsp;&nbsp; &lt;property name="userService" ref="userService"&gt;&lt;/property&gt;<br />
&nbsp; &nbsp;&lt;/bean&gt;</p>
<p>&nbsp;</p>
<p><span style="color: #ff0000">web.xml:</span></p>
<p>&lt;!-- 配置Struts2 --&gt;<br />
&nbsp;&nbsp;&lt;filter&gt;<br />
&nbsp;&nbsp;&lt;filter-name&gt;struts2&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&lt;filter-class&gt;<br />
&nbsp;&nbsp;&nbsp;org.apache.struts2.dispatcher.FilterDispatcher<br />
&nbsp;&nbsp;&lt;/filter-class&gt;<br />
&nbsp;&lt;/filter&gt;<br />
&nbsp;&lt;filter-mapping&gt;<br />
&nbsp;&nbsp;&lt;filter-name&gt;struts2&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&lt;url-pattern&gt;/*&lt;/url-pattern&gt;<br />
&nbsp;&lt;/filter-mapping&gt;<br />
&nbsp;&lt;!--&nbsp; 配置Spring&nbsp; --&gt;<br />
&nbsp;&lt;listener&gt;<br />
&nbsp;&nbsp;&lt;listener-class&gt;<br />
&nbsp;&nbsp;&nbsp;org.springframework.web.context.ContextLoaderListener&nbsp;&nbsp;&lt;/listener-class&gt;<br />
&nbsp;&lt;/listener&gt;<br />
&nbsp;<br />
&nbsp;&lt;context-param&gt;<br />
&nbsp;&nbsp;&lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;<br />
&nbsp;&nbsp;&lt;param-value&gt;classpath*:*.xml&lt;/param-value&gt;<br />
&nbsp;&lt;/context-param&gt;</p>
<p><span style="color: #ff0000">index.jsp:</span></p>
<p>&lt;form action="&lt;%=request.getContextPath() %&gt;/user/userAdd.action" name="form1" method="post"&gt;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; userName: &lt;input type ="text" name="user.name"&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; password:&lt;input type="password" name="user.password"&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; age:&lt;input type="text" name="user.age"&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type="submit" value="submit"&gt;&amp;nbsp;&lt;input type="reset" value="reset"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/form&gt;</p>
<p><span style="color: #ff0000">userShow.jsp</span></p>
<p><span style="color: #ff0000">在第一行添加 struts2 的标签</span></p>
<p><span style="color: #ff0000">即：&lt;%@ taglib prefix="s" uri="/struts-tags" %&gt;</span></p>
<p>&lt;body&gt;<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; userName: &lt;s:property value="user.name"/&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; password:&lt;s:property value="user.password"/&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; age:&lt;s:property value="user.age"/&gt;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp; &lt;/body&gt;</p>
<p>&nbsp;</p>
<p><br />
struts.properties 文件可要可无！（可以自己配置）</p><img src ="http://www.blogjava.net/wangbbs2007/aggbug/295326.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐vs乐</a> 2009-09-16 15:50 <a href="http://www.blogjava.net/wangbbs2007/articles/295326.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts2.0 hibernate spring 整合步骤</title><link>http://www.blogjava.net/wangbbs2007/articles/295324.html</link><dc:creator>乐vs乐</dc:creator><author>乐vs乐</author><pubDate>Wed, 16 Sep 2009 07:46:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/295324.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/295324.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/295324.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/295324.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/295324.html</trackback:ping><description><![CDATA[<p>1.建立web项目<br />
2.在web.xml&nbsp; 配置 struts2，和 spring ，<br />
&nbsp;&lt;!-- 配置Struts2 --&gt;<br />
&nbsp;&nbsp;&lt;filter&gt;<br />
&nbsp;&nbsp;&lt;filter-name&gt;struts2&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&lt;filter-class&gt;<br />
&nbsp;&nbsp;&nbsp;org.apache.struts2.dispatcher.FilterDispatcher(struts的过滤器)<br />
&nbsp;&nbsp;&lt;/filter-class&gt;<br />
&nbsp;&lt;/filter&gt;<br />
&nbsp;&lt;filter-mapping&gt;（加载struts2）<br />
&nbsp;&nbsp;&lt;filter-name&gt;struts2&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&lt;url-pattern&gt;/*&lt;/url-pattern&gt;<br />
&nbsp;&lt;/filter-mapping&gt;<br />
&nbsp;&lt;!--&nbsp; 配置Spring&nbsp; --&gt;<br />
&nbsp;&lt;listener&gt;<br />
&nbsp;&nbsp;&lt;listener-class&gt;<br />
&nbsp;&nbsp;&nbsp;org.springframework.web.context.ContextLoaderListener（spring监听器）<br />
&nbsp;&nbsp;&lt;/listener-class&gt;<br />
&nbsp;&lt;/listener&gt;<br />
&nbsp;&lt;!--&nbsp; 查找spring配置文件 --&gt;<br />
&nbsp;&lt;context-param&gt;（程序从此处开始加载.xml 文件，并执行）<br />
&nbsp;&nbsp;&lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;<br />
&nbsp;&nbsp;&lt;param-value&gt;classpath*:*.xml&lt;/param-value&gt;<br />
&nbsp;&lt;/context-param&gt;<br />
3.在src根目录下创建struts.xml文件<br />
&nbsp;&nbsp;&lt;include file="struts-default.xml"/&gt;固定格式，用到此包<br />
4.在src根目录 创建hibernate.cfg.xml文件<br />
&lt;?xml version='1.0' encoding='UTF-8'?&gt;<br />
&lt;!DOCTYPE hibernate-configuration PUBLIC<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "-//Hibernate/Hibernate Configuration DTD 3.0//EN"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "<a href="http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd</a>"&gt;<br />
&lt;hibernate-configuration&gt;<br />
&lt;session-factory&gt;<br />
&nbsp;&lt;!-- 基本配置 --&gt;<br />
&nbsp;&lt;property name="dialect"&gt;<br />
&nbsp;&nbsp;org.hibernate.dialect.Oracle9Dialect<br />
&nbsp;&lt;/property&gt;<br />
&nbsp;&lt;property name="show_sql"&gt;false&lt;/property&gt;<br />
&nbsp;&lt;property name="format_sql"&gt;true&lt;/property&gt;<br />
&nbsp;&lt;property name="bytecode.use_reflection_optimizer"&gt;true&lt;/property&gt;<br />
&nbsp;&lt;property name="max_fetch_depth"&gt;2&lt;/property&gt;<br />
&nbsp;&lt;property name="default_batch_fetch_size"&gt;8&lt;/property&gt;<br />
&nbsp;&lt;property name="jdbc.batch_size"&gt;20&lt;/property&gt;</p>
<p>&lt;/session-factory&gt;<br />
&lt;/hibernate-configuration&gt;<br />
系统给的文件 只需要拷贝，都是一些数据库库的基本配置</p>
<p>5.在src根目录 拷贝struts.properties文件</p>
<p>struts.objectFactory = spring&nbsp;&nbsp; 该项是告诉系统 用spring来 控制hibernate和Action<br />
struts.action.extension=action&nbsp; 告诉系统访问时以什么结尾。可以改为:&nbsp; do&nbsp; 例如：login.do&nbsp;&nbsp; ,此处为:login.action<br />
6.在src根目录下 创建applicationContext.xml<br />
&nbsp;配置数据源<br />
&nbsp; &nbsp;&lt;bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"&gt;<br />
&nbsp; &nbsp;&nbsp;&lt;property name="driverClassName" value ="oracle.jdbc.driver.OracleDriver"/&gt;<br />
&nbsp; &nbsp;&nbsp;&lt;property name="url" value ="jdbc:oracle:thin:@192.168.0.95:1521:ZXDB2"/&gt;<br />
&nbsp; &nbsp;&nbsp;&lt;property name="username" value ="test"/&gt;<br />
&nbsp; &nbsp;&nbsp;&lt;property name="password" value ="test"/&gt;<br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp;&lt;/bean&gt;</p>
<p>&nbsp;创建sessionFactory 工厂<br />
&nbsp;&lt;bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&gt;<br />
&nbsp; &nbsp;&nbsp;&lt;property name="dataSource"&gt;<br />
&nbsp; &nbsp;&nbsp;&nbsp;&lt;ref local="dataSource"/&gt;<br />
&nbsp; &nbsp;&nbsp;&lt;/property&gt;<br />
&nbsp; &nbsp;&nbsp;&lt;property name="configLocation"&gt;<br />
&nbsp; &nbsp;&nbsp;&nbsp;&lt;value type="org.springframework.core.io.Resource"&gt;classpath:hibernate.cfg.xml&lt;/value&gt;<br />
&nbsp; &nbsp;&nbsp;&lt;/property&gt;<br />
&nbsp; &nbsp;&lt;/bean&gt;<br />
&nbsp;考来用</p>
<p>7.创建 实体类 <br />
&nbsp;就是写一个bean 含有get/set 方法<br />
8.在实体类所在的目录下，写一个 类名.hbm.xml文件，在配置文件中添加属性<br />
&nbsp;&lt;?xml version="1.0" encoding="utf-8"?&gt;<br />
&nbsp;&nbsp;&lt;!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"<br />
&nbsp;&nbsp;"<a href="http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd</a>"&gt;</p>
<p>&nbsp;&nbsp;&lt;hibernate-mapping&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;class name="com.zx.test.model.User" table="LB_USER"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;id name="id" type="java.lang.Long"&gt;主键的类型为Long<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="ID"/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;generator class="sequence"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="sequence"&gt;SEQ_LB_USER&lt;/param&gt;指定主键生成方式，必须在pl/sql创建主键生成方式<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/generator&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/id&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;property name="name" type="java.lang.String"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="name" length="20"/&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;property name="age" type="java.lang.Integer"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="age" length="2"/&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;property name="password" type="java.lang.String"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="password" length="20"/&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;所有属性的name 必须与 bean中的set后的名称一样<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/class&gt;<br />
&nbsp;&nbsp;&lt;/hibernate-mapping&gt;</p>
<p>9.创建一个 Dao 实现操作方法<br />
&nbsp;<br />
10 创建 service&nbsp; 调用&nbsp; Dao中的方法<br />
&nbsp;<br />
11.创建&nbsp; Action&nbsp;&nbsp; 将service的得到的user 加到Action中</p>
<p>&nbsp;<br />
12.在applicationContext.xml 中配置 <br />
&nbsp;将userDao注入到sessionFactory中<br />
&nbsp;将userService 注入到UserDao中<br />
&nbsp;将userAction 注入到 userService中<br />
13.在struts.xml中 配置Action<br />
&nbsp;&nbsp; &lt;package name="user" extends="struts-default（固定与include对应）" namespace="/use（访问时路径）r"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;action name="userAdd（访问时路径）" class="userAction" method="userAdd"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;result name="success"&gt;/userShow.jsp&lt;/result&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/action&gt;<br />
&nbsp; &lt;/package&gt;</p>
<p>&nbsp;此处配置了访问时的路径：/user/userAdd</p>
<p>14.将8中的配置文件 加入到 4 中<br />
&nbsp;&lt;mapping resource="com/zx/test/model/User.hbm.xml" /&gt;<br />
&nbsp;引用配置文件</p>
<p>15.写jsp页面 表单提交到 Action</p>
<p>9.10.11：是 Action 调用 Service ，Service调用 Dao 也是分层的体现</p>
<p>&nbsp;</p>
<p>Web.xml 是web工程的配置文件</p>
<p>ApplicationContext&nbsp; 是 spring的配置文件</p>
<p>Hibernate.hbm.xml 是hibernate的配置文件</p>
<p><br />
建表是 注意创建主键时 name 为 表明</p>
<p>&nbsp;</p><img src ="http://www.blogjava.net/wangbbs2007/aggbug/295324.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐vs乐</a> 2009-09-16 15:46 <a href="http://www.blogjava.net/wangbbs2007/articles/295324.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>