<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>Adams1986</title>
    <description></description>
    <link>http://adams1986.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>Struts2学习笔记（转载）</title>
        <author>Adams1986</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://adams1986.javaeye.com">Adams1986</a>&nbsp;
          链接：<a href="http://adams1986.javaeye.com/blog/168874" style="color:red;">http://adams1986.javaeye.com/blog/168874</a>&nbsp;
          发表时间: 2008年03月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Struts2学习笔记<br /><br />Question: constant name="struts.action.extension" value="action"    问题<br />Answer:这个是系统从struts.properties默认继承这个配置，所以用的时候会自动加上.action<br />The URL extension to use to determine if the request is meant for a Struts action <br />用URL扩展名来确定是否这个请求是被用作Struts action，其实也就是设置 action的后缀，例如login.do的'do'字。<br />s:form 的时候用<br /><br />Question:Struts2的xml的配置<br />Answer:Struts2默认会读取classpath下的struts-default.xml,struts-plugin.xml,struts.xml这三个文件。<br />struts-plugin.xml的位置struts-plugin.xml会在你下载的plugin的jar包中，如struts2-spring-plugin-2.0.6.jar。<br /><br />Question:java.lang.NullPointerException 异常<br />Answer:应该没在web.xml有配置struts 2的filter，试下将以下列代码加到web.xml的元素之间：<br />好像需要Tomcat 5.5以上，5.0会有问题，诸如NullPointerExceptio之类的 <br /><br />Question:Could not find or error in struts.properties<br />java.lang.IllegalStateException: struts.properties missing<br />问题解决:把struts.properties 放到classes下即可了<br /><br />Question:的action才与struts.xml中的Action名一样，<br />而 &lt;form> 中的action应为你的Action的路径的全名如/mypath/myaction.action;<br />Answer:Action中的属性值可以通过Javabean规范与请求是的参数绑定，<br />所以等Form标志的name属性必须与Action属性名一致。<br /><br />Question:取得Servlet API中的一些对象，如request、response或session等，应该怎么做？<br />Answer:com.opensymphony.xwork2.ActionContext,可以通过它的静态方法getContext()获取当前Action的上下文对象,<br />非IOC:<br />另外，org.apache.struts2.ServletActionContext作为辅助类（Helper Class），可以帮助您快捷地获得这几个对象,<br />HttpServletRequest request = ServletActionContext.getRequest();<br />HttpServletResponse response = ServletActionContext.getResponse();<br />HttpSession session = request.getSession();<br />IOC:<br />import org.apache.struts2.interceptor.ServletRequestAware;<br />import org.apache.struts2.interceptor.ServletResponseAware;<br />import org.apache.struts2.interceptor.SessionAware;<br />publicclass IoCServlet extends ActionSupport implements SessionAware, ServletRequestAware, ServletResponseAware {<br />    private String message;<br />    private HttpServletRequest request;<br />    private HttpServletResponse response; <br />}<br /><br />Question:表达式的问题，有${表达式}、带有#的表达式（如上文中的#session.msg），还有%开始的表达式，<br />这些好像都是取出里面的值，请问这些$、#、%开头的表达式有什么不同？各自在什么情况下使用？<br />Answer:OGNL中的${...}可以在定义Action的result时，传递变量，如/deleteBook.action?isbn=${isbn}。也可以在国际化时引用变量；<br />#用于在页面上引用ActionContext的值，也可以构造映射（Map）等，如#request.xxx；<br />%{...}在标签属性中引用变量，如<br /><br />Question:如何得到cookies<br />Answer:先在Action中拿到HttpServletRequest的对象（请参考《Struts 2.0的Action讲解》），然后调用request.getCookies()。<br /><br />Question:<br />页面就可以直接获取${message}，请问这默认是request级别的吗?<br />如果是session级别的，是不是要在取得session后<br />在代码中明确写入，session.setAttribute(xx.xxxx)<br />Answer:这些值是放在ActionContext中的，所以不是request或session等<br /><br />转载资料 from http://www.blogjava.net/max
          <br/>
          <span style="color:red;">
            <a href="http://adams1986.javaeye.com/blog/168874#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 06 Mar 2008 21:15:16 +0800</pubDate>
        <link>http://adams1986.javaeye.com/blog/168874</link>
        <guid>http://adams1986.javaeye.com/blog/168874</guid>
      </item>
      <item>
        <title>解决 struts2.0  中Error filterStart </title>
        <author>Adams1986</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://adams1986.javaeye.com">Adams1986</a>&nbsp;
          链接：<a href="http://adams1986.javaeye.com/blog/155450" style="color:red;">http://adams1986.javaeye.com/blog/155450</a>&nbsp;
          发表时间: 2008年01月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          搞了一下struts2.0 的Demo 部署到tomcate中运行时老是  Error filterStart <br />查看 tomcate的日志报的Error 为 ：<br />2008-01-13 00:00:25 StandardContext[/demo]Exception starting filter struts<br />java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.FilterDispatcher<br />	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1340)<br />	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)<br />	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:211)<br />	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:308)<br />	at org.apache.catalina.core.ApplicationFilterConfig.&lt;init>(ApplicationFilterConfig.java:79)<br />	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3698)<br />	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4349)<br />	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)<br />	at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)<br />	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)<br />	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)<br />	at org.apache.catalina.core.StandardService.start(StandardService.java:480)<br />	at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)<br />	at org.apache.catalina.startup.Catalina.start(Catalina.java:556)<br />	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />	at java.lang.reflect.Method.invoke(Method.java:324)<br />	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)<br />	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)<br /><br />郁闷 <br />      处理了2天，才把我的demo跑起来，google中的和我一样的情况很多，包括 改用jdk1.6，换tomcate5.0,<br />使用struts2.0-all.jar下面的 j4文件夹下的jar ,添加 xalan.jar到tomcate中，不过我的都没有成功<br /><br />      <br />     后来我发现Tomcat 5.0\common\lib下面的jar和struts2.0lib下面的jar有些相同，我想会不会是需要把struts2.0中的jar也添加到Tomcat 5.0\common\lib下，（不好意思，当时我处理邮件服务器的时候，就是添加了mail.jar等 才成功的）<br />      <br />      我把struts2.0中的jar全拷贝进去，运行  哈哈 真的成功了，我把拷贝的jar逐个删除剩下为 struts2-core-2.0.0.jar,freemarker-2.3.4.jar,xwork-2.0-SNAPSHOT.jar 那么只要添加这3个jar就可以了<br /><br />     <br />      我也是好不容易才搞定的，大家如果遇到这样的问题也不妨试试  <br />      <br />      希望对出现这样问题的同行有点帮助   呵呵
          <br/>
          <span style="color:red;">
            <a href="http://adams1986.javaeye.com/blog/155450#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 13 Jan 2008 22:05:14 +0800</pubDate>
        <link>http://adams1986.javaeye.com/blog/155450</link>
        <guid>http://adams1986.javaeye.com/blog/155450</guid>
      </item>
      <item>
        <title>请问我向Oracle中插入系统时间问题</title>
        <author>Adams1986</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://adams1986.javaeye.com">Adams1986</a>&nbsp;
          链接：<a href="http://adams1986.javaeye.com/blog/122656" style="color:red;">http://adams1986.javaeye.com/blog/122656</a>&nbsp;
          发表时间: 2007年09月10日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>我插入时间 为&nbsp; :insert into t values( sysdate,....);</p>
<p>DBA设计的表不含唯一主键 用了联合主键. 插入数据有时会有错,就是插入数据可能相同,那么可以让插入的时间唯一吗,请问怎么插,可以使时间不重复</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://adams1986.javaeye.com/blog/122656#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 10 Sep 2007 17:25:18 +0800</pubDate>
        <link>http://adams1986.javaeye.com/blog/122656</link>
        <guid>http://adams1986.javaeye.com/blog/122656</guid>
      </item>
  </channel>
</rss>