- 浏览: 639390 次
- 性别:
- 来自: 北京
最新评论
-
2047699523:
java hibernate demo使用实例教程源代码下载: ...
hibernate延迟加载的原理与实现 -
在世界的中心呼喚愛:
hantsy 写道这种lazy的解释只对了一半,按java p ...
hibernate延迟加载的原理与实现 -
moguicy:
看了下时间,不是楼主是否还在开发
【翻译】Wicket启示录——理论与实践(一) -
xfan0828:
"最后但并不是最不重要的一点就是" BZ, ...
【翻译】深入浅出 EJB3.1(上) -
doudou87323:
十分感谢,正在学习中,受益匪浅
【翻译】深入浅出 EJB3.1(上)
开始使用的是Struts2.06版本。在配置Struts.xml的时候,发现了一个问题:
struts.xml代码:
xml 代码
- <!---->
- "http://struts.apache.org/dtds/struts-2.0.dtd">
- <struts>
- <include file="struts-default.xml" />
- <package name="default" extends="struts-default">
- <!---->
- <interceptors>
- <interceptor-stack name="strutsStack">
- <interceptor-ref name="exception" />
- <interceptor-ref name="alias" />
- <interceptor-ref name="servlet-config" />
- <interceptor-ref name="prepare" />
- <interceptor-ref name="i18n" />
- <interceptor-ref name="chain" />
- <interceptor-ref name="debugging" />
- <interceptor-ref name="profiling" />
- <interceptor-ref name="scoped-model-driven" />
- <interceptor-ref name="model-driven" />
- <interceptor-ref name="fileUpload" />
- <interceptor-ref name="checkbox" />
- <interceptor-ref name="static-params" />
- <interceptor-ref name="params" />
- <interceptor-ref name="validation">
- <param name="excludeMethods">
- input,back,cancel,browse
- param>
- interceptor-ref>
- <interceptor-ref name="workflow">
- <param name="excludeMethods">
- input,back,cancel,browse
- param>
- interceptor-ref>
- interceptor-stack>
- interceptors>
- <!---->
- <default-interceptor-ref name="strutsStack" />
- package>
- <include file="struts_xml/user.xml" />
- struts>
这是struts.xml所包含的代码。
xml 代码
- <!---->
- "http://struts.apache.org/dtds/struts-2.0.dtd">
- <struts>
- <package name="user" extends="default">
- <!---->
- <action name="userAction"
- class="com.leo.controller.UserController" method="userAction">
- <result name="success">a.jspresult>
- <result name="input">login.jspresult>
- action>
- <action name="index" class="com.leo.controller.UserController"
- method="index">
- <result name="success">login.jspresult>
- <result name="input">login.jspresult>
- action>
- <action name="login" class="com.leo.controller.UserController"
- method="login">
- <result name="success" type="redirect-action">
- index.action
- result>
- <result name="input">login.jspresult>
- action>
- <action name="logout" class="com.leo.controller.UserController"
- method="logout">
- <result name="success">login.jspresult>
- <result name="input">login.jspresult>
- action>
- package>
- struts>
这种“包”继承关系是合法的,但在struts2.06版本怎么也无法通过,控制台一直报错:Error building results for action ××× in namespace - action 。调试了很久,Webwork文档与书也翻了N遍,还是没有效果。最后实在没有办法了,换成Struts2.09包,竟然通过了。
大家可以试试,其实Struts2的包继承是非常有用的,很多全局拦截器的设置,Action的设置,以及Result-type等,都可以通过包继承来组织你的配置文件。
评论
6 楼
hmx_x
2008-10-27
Result-type等,都可
5 楼
dimscar
2007-10-31
真不知道为什么,webwork2.0变成了这样的Struts2.0,真叫晕倒!
4 楼
jalinhu
2007-10-31
<div class='code_title'>
<div class='code_title'>java 代码
<div class='dp-highlighter'>
<div class='bar'/>
<ol class='dp-j'>
<li class='alt'><span><span class='keyword'>import</span><span> java.net.*; </span></span></li>
<li class=''><span/><span class='keyword'>import</span><span> java.io.*; </span></li>
<li class='alt'><span/><span class='keyword'>import</span><span> java.util.*; </span></li>
<li class=''><span> </span></li>
<li class='alt'><span/><span class='keyword'>public</span><span> </span><span class='keyword'>class</span><span> UDPServer { </span></li>
<li class=''><span> </span><span class='keyword'>static</span><span> </span><span class='keyword'>final</span><span> </span><span class='keyword'>int</span><span> INPORT = </span><span class='number'>1711</span><span>; </span></li>
<li class='alt'><span> </span><span class='keyword'>private</span><span> </span><span class='keyword'>byte</span><span>[] buf = </span><span class='keyword'>new</span><span> </span><span class='keyword'>byte</span><span>[</span><span class='number'>1000</span><span>]; </span></li>
<li class=''><span> </span><span class='keyword'>private</span><span> DatagramPacket dp = </span><span class='keyword'>new</span><span> DatagramPacket(buf, buf.length); </span></li>
<li class='alt'><span> </span><span class='keyword'>private</span><span> DatagramSocket socket; </span></li>
<li class=''><span> </span><span class='keyword'>public</span><span> UDPServer() { </span></li>
<li class='alt'><span> </span><span class='keyword'>try</span><span> { </span></li>
<li class=''><span> socket = </span><span class='keyword'>new</span><span> DatagramSocket(INPORT); </span></li>
<li class='alt'><span> System.out.println(</span><span class='string'>"Server started!"</span><span>); </span></li>
<li class=''><span> </span><span class='keyword'>while</span><span> (</span><span class='keyword'>true</span><span>) { </span></li>
<li class='alt'><span> socket.receive(dp); </span></li>
<li class=''><span> String rcvd = Dgram.toString(dp) + </span><span class='string'>",from ddress:"</span><span> + dp.getAddress() + </span></li>
<li class='alt'><span> </span><span class='string'>",port:"</span><span> + dp.getPort(); </span></li>
<li class=''><span> System.out.println(rcvd); </span></li>
<li class='alt'><span> String echoString = </span><span class='string'>"Echoed:"</span><span> + rcvd; </span></li>
<li class=''><span> DatagramPacket echo = Dgram.toDatagram(echoString, dp.getAddress(), </span></li>
<li class='alt'><span> dp.getPort()); </span></li>
<li class=''><span> socket.send(echo); </span></li>
<li class='alt'><span> } </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> </span><span class='keyword'>catch</span><span> (SocketException e) { </span></li>
<li class=''><span> System.err.println(</span><span class='string'>"Can't open socket"</span><span>); </span></li>
<li class='alt'><span> System.exit(</span><span class='number'>1</span><span>); </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> </span><span class='keyword'>catch</span><span> (IOException e) { </span></li>
<li class=''><span> System.err.println(</span><span class='string'>"Communication error!"</span><span>); </span></li>
<li class='alt'><span> e.printStackTrace(); </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> } </span></li>
<li class=''><span> </span></li>
<li class='alt'><span> </span><span class='keyword'>public</span><span> </span><span class='keyword'>static</span><span> </span><span class='keyword'>void</span><span> main(String[] args) { </span></li>
<li class=''><span> </span><span class='keyword'>new</span><span> UDPServer(); </span></li>
<li class='alt'><span> } </span></li>
<li class=''><span>} </span></li>
<li class='alt'><span> </span></li>
<li class=''><span/><span class='comment'>//===================================== </span><span> </span></li>
<li class='alt'><span/><span class='keyword'>class</span><span> UDPClient </span></li>
<li class=''><span> </span><span class='keyword'>extends</span><span> Thread { </span></li>
<li class='alt'><span> </span><span class='keyword'>private</span><span> DatagramSocket s; </span></li>
<li class=''><span> </span><span class='keyword'>private</span><span> InetAddress hostAddress; </span></li>
<li class='alt'><span> </span><span class='keyword'>private</span><span> </span><span class='keyword'>byte</span><span>[] buf = </span><span class='keyword'>new</span><span> </span><span class='keyword'>byte</span><span>[</span><span class='number'>1000</span><span>]; </span></li>
<li class=''><span> </span><span class='keyword'>private</span><span> DatagramPacket dp = </span><span class='keyword'>new</span><span> DatagramPacket(buf, buf.length); </span></li>
<li class='alt'><span> </span><span class='keyword'>private</span><span> </span><span class='keyword'>int</span><span> id; </span></li>
<li class=''><span> </span></li>
<li class='alt'><span> </span><span class='keyword'>public</span><span> UDPClient(</span><span class='keyword'>int</span><span> identifier) { </span></li>
<li class=''><span> id = identifier; </span></li>
<li class='alt'><span> </span><span class='keyword'>try</span><span> { </span></li>
<li class=''><span> s = </span><span class='keyword'>new</span><span> DatagramSocket(); </span></li>
<li class='alt'><span> hostAddress = InetAddress.getByName(</span><span class='string'>"localhost"</span><span>); </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> </span><span class='keyword'>catch</span><span> (UnknownHostException e) { </span></li>
<li class=''><span> System.err.println(</span><span class='string'>"Cannot find host"</span><span>); </span></li>
<li class='alt'><span> System.exit(</span><span class='number'>1</span><span>); </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> </span><span class='keyword'>catch</span><span> (SocketException e) { </span></li>
<li class=''><span> System.err.println(</span><span class='string'>"Can't open Socket"</span><span>); </span></li>
<li class='alt'><span> e.printStackTrace(); </span></li>
<li class=''><span> System.exit(</span><span class='number'>1</span><span>); </span></li>
<li class='alt'><span> } </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> </span></li>
<li class=''><span> </span><span class='keyword'>public</span><span> </span><span class='keyword'>void</span><span> run() { </span></li>
<li class='alt'><span> </span><span class='keyword'>try</span><span> { </span></li>
<li class=''><span> </span><span class='keyword'>for</span><span> (</span><span class='keyword'>int</span><span> i = </span><span class='number'>0</span><span>; i < </span><span class='number'>1</span><span>; i++) { </span><span class='comment'>//消息数 </span><span> </span></li>
<li class='alt'><span> String outMessage = </span><span class='string'>"Client #"</span><span> + </span></li>
<li class=''><span> id + </span><span class='string'>",message#"</span><span> + i; </span></li>
<li class='alt'><span> s.send(Dgram.toDatagram(outMessage, hostAddress, UDPServer.INPORT)); </span></li>
<li class=''><span> s.receive(dp); </span></li>
<li class='alt'><span> String rcvd = </span><span class='string'>"Client #"</span><span> + id + </span><span class='string'>",rcvd from "</span><span> + </span></li>
<li class=''><span> dp.getAddress() + </span><span class='string'>","</span><span> + </span></li>
<li class='alt'><span> dp.getPort() + </span><span class='string'>":"</span><span> + </span></li>
<li class=''><span> Dgram.toString(dp); </span></li>
<li class='alt'><span> System.out.println(rcvd); </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> } </span></li>
<li class=''><span> </span><span class='keyword'>catch</span><span> (IOException e) { </span></li>
<li class='alt'><span> e.printStackTrace(); </span></li>
<li class=''><span> System.exit(</span><span class='number'>1</span><span>); </span></li>
<li class='alt'><span> } </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> </span></li>
<li class=''><span> </span><span class='keyword'>public</span><span> </span><span class='keyword'>static</span><span> </span><span class='keyword'>void</span><span> main(String[] args) { </span></li>
<li class='alt'><span> </span><span class='keyword'>for</span><span> (</span><span class='keyword'>int</span><span> i = </span><span class='number'>0</span><span>; i < </span><span class='number'>1</span><span>; i++) </span><span class='comment'>//客户数量 </span><span> </span></li>
<li class=''><span> </span><span class='keyword'>new</span><span> UDPClient(i).start(); </span></li>
<li class='alt'><span> } </span></li>
<li class=''><span>} </span></li>
<li class='alt'><span> </span></li>
<li class=''><span/><span class='keyword'>class</span><span> Dgram { </span></li>
<li class='alt'><span> </span><span class='keyword'>public</span><span> </span><span class='keyword'>static</span><span> DatagramPacket toDatagram( </span></li>
<li class=''><span> String s, InetAddress destIA, </span><span class='keyword'>int</span><span> destPort) { </span></li>
<li class='alt'><span> </span><span class='keyword'>byte</span><span>[] buf = </span><span class='keyword'>new</span><span> </span><span class='keyword'>byte</span><span>[s.length() + </span><span class='number'>1</span><span>]; </span></li>
<li class=''><span> s.getBytes(</span><span class='number'>0</span><span>, s.length(), buf, </span><span class='number'>0</span><span>); </span></li>
<li class='alt'><span> </span><span class='keyword'>return</span><span> </span><span class='keyword'>new</span><span> DatagramPacket(buf, buf.length, destIA, destPort); </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> </span></li>
<li class=''><span> </span><span class='keyword'>public</span><span> </span><span class='keyword'>static</span><span> String toString(DatagramPacket p) { </span></li>
<li class='alt'><span> </span><span class='keyword'>return</span><span> </span><span class='keyword'>new</span><span> String(p.getData(), </span><span class='number'>0</span><span>, p.getLength()); </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span>} </span></li>
</ol>
</div>
</div>
</div>
<div class='code_title'>java 代码
<div class='dp-highlighter'>
<div class='bar'/>
<ol class='dp-j'>
<li class='alt'><span><span class='keyword'>import</span><span> java.net.*; </span></span></li>
<li class=''><span/><span class='keyword'>import</span><span> java.io.*; </span></li>
<li class='alt'><span/><span class='keyword'>import</span><span> java.util.*; </span></li>
<li class=''><span> </span></li>
<li class='alt'><span/><span class='keyword'>public</span><span> </span><span class='keyword'>class</span><span> UDPServer { </span></li>
<li class=''><span> </span><span class='keyword'>static</span><span> </span><span class='keyword'>final</span><span> </span><span class='keyword'>int</span><span> INPORT = </span><span class='number'>1711</span><span>; </span></li>
<li class='alt'><span> </span><span class='keyword'>private</span><span> </span><span class='keyword'>byte</span><span>[] buf = </span><span class='keyword'>new</span><span> </span><span class='keyword'>byte</span><span>[</span><span class='number'>1000</span><span>]; </span></li>
<li class=''><span> </span><span class='keyword'>private</span><span> DatagramPacket dp = </span><span class='keyword'>new</span><span> DatagramPacket(buf, buf.length); </span></li>
<li class='alt'><span> </span><span class='keyword'>private</span><span> DatagramSocket socket; </span></li>
<li class=''><span> </span><span class='keyword'>public</span><span> UDPServer() { </span></li>
<li class='alt'><span> </span><span class='keyword'>try</span><span> { </span></li>
<li class=''><span> socket = </span><span class='keyword'>new</span><span> DatagramSocket(INPORT); </span></li>
<li class='alt'><span> System.out.println(</span><span class='string'>"Server started!"</span><span>); </span></li>
<li class=''><span> </span><span class='keyword'>while</span><span> (</span><span class='keyword'>true</span><span>) { </span></li>
<li class='alt'><span> socket.receive(dp); </span></li>
<li class=''><span> String rcvd = Dgram.toString(dp) + </span><span class='string'>",from ddress:"</span><span> + dp.getAddress() + </span></li>
<li class='alt'><span> </span><span class='string'>",port:"</span><span> + dp.getPort(); </span></li>
<li class=''><span> System.out.println(rcvd); </span></li>
<li class='alt'><span> String echoString = </span><span class='string'>"Echoed:"</span><span> + rcvd; </span></li>
<li class=''><span> DatagramPacket echo = Dgram.toDatagram(echoString, dp.getAddress(), </span></li>
<li class='alt'><span> dp.getPort()); </span></li>
<li class=''><span> socket.send(echo); </span></li>
<li class='alt'><span> } </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> </span><span class='keyword'>catch</span><span> (SocketException e) { </span></li>
<li class=''><span> System.err.println(</span><span class='string'>"Can't open socket"</span><span>); </span></li>
<li class='alt'><span> System.exit(</span><span class='number'>1</span><span>); </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> </span><span class='keyword'>catch</span><span> (IOException e) { </span></li>
<li class=''><span> System.err.println(</span><span class='string'>"Communication error!"</span><span>); </span></li>
<li class='alt'><span> e.printStackTrace(); </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> } </span></li>
<li class=''><span> </span></li>
<li class='alt'><span> </span><span class='keyword'>public</span><span> </span><span class='keyword'>static</span><span> </span><span class='keyword'>void</span><span> main(String[] args) { </span></li>
<li class=''><span> </span><span class='keyword'>new</span><span> UDPServer(); </span></li>
<li class='alt'><span> } </span></li>
<li class=''><span>} </span></li>
<li class='alt'><span> </span></li>
<li class=''><span/><span class='comment'>//===================================== </span><span> </span></li>
<li class='alt'><span/><span class='keyword'>class</span><span> UDPClient </span></li>
<li class=''><span> </span><span class='keyword'>extends</span><span> Thread { </span></li>
<li class='alt'><span> </span><span class='keyword'>private</span><span> DatagramSocket s; </span></li>
<li class=''><span> </span><span class='keyword'>private</span><span> InetAddress hostAddress; </span></li>
<li class='alt'><span> </span><span class='keyword'>private</span><span> </span><span class='keyword'>byte</span><span>[] buf = </span><span class='keyword'>new</span><span> </span><span class='keyword'>byte</span><span>[</span><span class='number'>1000</span><span>]; </span></li>
<li class=''><span> </span><span class='keyword'>private</span><span> DatagramPacket dp = </span><span class='keyword'>new</span><span> DatagramPacket(buf, buf.length); </span></li>
<li class='alt'><span> </span><span class='keyword'>private</span><span> </span><span class='keyword'>int</span><span> id; </span></li>
<li class=''><span> </span></li>
<li class='alt'><span> </span><span class='keyword'>public</span><span> UDPClient(</span><span class='keyword'>int</span><span> identifier) { </span></li>
<li class=''><span> id = identifier; </span></li>
<li class='alt'><span> </span><span class='keyword'>try</span><span> { </span></li>
<li class=''><span> s = </span><span class='keyword'>new</span><span> DatagramSocket(); </span></li>
<li class='alt'><span> hostAddress = InetAddress.getByName(</span><span class='string'>"localhost"</span><span>); </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> </span><span class='keyword'>catch</span><span> (UnknownHostException e) { </span></li>
<li class=''><span> System.err.println(</span><span class='string'>"Cannot find host"</span><span>); </span></li>
<li class='alt'><span> System.exit(</span><span class='number'>1</span><span>); </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> </span><span class='keyword'>catch</span><span> (SocketException e) { </span></li>
<li class=''><span> System.err.println(</span><span class='string'>"Can't open Socket"</span><span>); </span></li>
<li class='alt'><span> e.printStackTrace(); </span></li>
<li class=''><span> System.exit(</span><span class='number'>1</span><span>); </span></li>
<li class='alt'><span> } </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> </span></li>
<li class=''><span> </span><span class='keyword'>public</span><span> </span><span class='keyword'>void</span><span> run() { </span></li>
<li class='alt'><span> </span><span class='keyword'>try</span><span> { </span></li>
<li class=''><span> </span><span class='keyword'>for</span><span> (</span><span class='keyword'>int</span><span> i = </span><span class='number'>0</span><span>; i < </span><span class='number'>1</span><span>; i++) { </span><span class='comment'>//消息数 </span><span> </span></li>
<li class='alt'><span> String outMessage = </span><span class='string'>"Client #"</span><span> + </span></li>
<li class=''><span> id + </span><span class='string'>",message#"</span><span> + i; </span></li>
<li class='alt'><span> s.send(Dgram.toDatagram(outMessage, hostAddress, UDPServer.INPORT)); </span></li>
<li class=''><span> s.receive(dp); </span></li>
<li class='alt'><span> String rcvd = </span><span class='string'>"Client #"</span><span> + id + </span><span class='string'>",rcvd from "</span><span> + </span></li>
<li class=''><span> dp.getAddress() + </span><span class='string'>","</span><span> + </span></li>
<li class='alt'><span> dp.getPort() + </span><span class='string'>":"</span><span> + </span></li>
<li class=''><span> Dgram.toString(dp); </span></li>
<li class='alt'><span> System.out.println(rcvd); </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> } </span></li>
<li class=''><span> </span><span class='keyword'>catch</span><span> (IOException e) { </span></li>
<li class='alt'><span> e.printStackTrace(); </span></li>
<li class=''><span> System.exit(</span><span class='number'>1</span><span>); </span></li>
<li class='alt'><span> } </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> </span></li>
<li class=''><span> </span><span class='keyword'>public</span><span> </span><span class='keyword'>static</span><span> </span><span class='keyword'>void</span><span> main(String[] args) { </span></li>
<li class='alt'><span> </span><span class='keyword'>for</span><span> (</span><span class='keyword'>int</span><span> i = </span><span class='number'>0</span><span>; i < </span><span class='number'>1</span><span>; i++) </span><span class='comment'>//客户数量 </span><span> </span></li>
<li class=''><span> </span><span class='keyword'>new</span><span> UDPClient(i).start(); </span></li>
<li class='alt'><span> } </span></li>
<li class=''><span>} </span></li>
<li class='alt'><span> </span></li>
<li class=''><span/><span class='keyword'>class</span><span> Dgram { </span></li>
<li class='alt'><span> </span><span class='keyword'>public</span><span> </span><span class='keyword'>static</span><span> DatagramPacket toDatagram( </span></li>
<li class=''><span> String s, InetAddress destIA, </span><span class='keyword'>int</span><span> destPort) { </span></li>
<li class='alt'><span> </span><span class='keyword'>byte</span><span>[] buf = </span><span class='keyword'>new</span><span> </span><span class='keyword'>byte</span><span>[s.length() + </span><span class='number'>1</span><span>]; </span></li>
<li class=''><span> s.getBytes(</span><span class='number'>0</span><span>, s.length(), buf, </span><span class='number'>0</span><span>); </span></li>
<li class='alt'><span> </span><span class='keyword'>return</span><span> </span><span class='keyword'>new</span><span> DatagramPacket(buf, buf.length, destIA, destPort); </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> </span></li>
<li class=''><span> </span><span class='keyword'>public</span><span> </span><span class='keyword'>static</span><span> String toString(DatagramPacket p) { </span></li>
<li class='alt'><span> </span><span class='keyword'>return</span><span> </span><span class='keyword'>new</span><span> String(p.getData(), </span><span class='number'>0</span><span>, p.getLength()); </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span>} </span></li>
</ol>
</div>
</div>
</div>
3 楼
Sharp
2007-10-31
了解!
2 楼
totobacoo
2007-10-31
http://www.iteye.com/topic/89919
老问题了
1 楼
topcloud
2007-10-29
怎么才知道啊,哈哈!
发表评论
-
自己动手写一个Struts2
2008-08-14 00:10 15348使用Struts2或webwork2有一段时间了,想把Stru ... -
Struts2(Webwork2)一些实战开发技巧
2008-06-02 21:18 5859一. 使用反射动态取出 Pojo 的属性 这一招在 ... -
Struts2的第一个入门实例(三)--Struts2与Guice整合
2008-02-15 14:29 9093Guice可真轻啊,所需的3个Jar包才不到600k。但缺点就 ... -
Struts2,Webwork2关于使用FCKeditor,richtexteditor 的解决方法
2008-01-31 00:18 4431一 Webwork2 + FCkeditor 这个问题由来 ... -
Struts2所有插件简介--目前到达40余种
2008-01-26 17:06 10841今天无意查看了Struts2的插件时,发现已经林林总总有40个 ... -
Struts2的第一个入门实例(二)--什么是code-behind
2008-01-13 19:26 8813Struts2的Code-behind究竟是什么?ROR那样的 ... -
Struts2.0.11在Tomcat5.5, Jetty 以及 Weblogic10等运行的不同
2008-01-06 22:53 5876终于有时间玩玩最新版本的Struts2.0.11了, 与上一个 ... -
struts2 奇怪的Action警告
2008-01-06 21:20 13094不知道大家有没有遇到在使用表单的时候,有时候会出一个莫名其妙的 ... -
经验不足,差一点重构整个系统
2007-12-30 19:36 4031呵呵,很久没有来JavaEye写文章了,公司工作也 ... -
Struts2+Spring+Hibernate In Action(四)
2007-11-01 01:43 5494第二部分: 1.DWR的配置: DWR是Java一个比较常用的 ... -
Struts2+Spring+Hibernate In Action(三)
2007-11-01 00:43 60273. Controller配置: Struts2的 ... -
Struts2+Spring+Hibernate In Action(二)
2007-11-01 00:30 6126当所有的Service配置好了,可以当他们统统配置在Sprin ... -
Struts2需要注意的一个小地方
2007-10-22 17:49 15996今天在运行Struts2时,无意间发现程序在写Struts.x ... -
Struts2的第一个入门实例(一)
2007-09-29 14:12 21077Struts2有自己的圈子了,我也写一个Struts2的 ... -
Struts2+Spring+Hibernate In Action(一)
2007-11-01 00:26 18185前言: 关于Struts2系列的文章网上基本上都有了,但鲜有 ... -
Struts2在路上2。。。。。。
2007-09-14 16:16 44092.关于关闭Struts2自动验证的烦人英文问题。 应该有不少 ... -
Struts2在路上。。。。。。
2007-09-12 14:25 54941.Struts2强大,但也有很多需要解决的问题。就拿我现在这 ...
相关推荐
Struts2.0是Java Web开发中的一个热门框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了构建动态Web应用程序的强大工具。API文档是理解任何框架核心功能的关键,对于Struts2.0也不例外。让我们深入...
Struts2.0 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它使得开发者能够更方便地构建动态、数据驱动的Web应用。此“NetBeans7.0 Struts2.0最新插件”提供了对Struts2.0框架的强大支持,以增强...
相对于2007年发布的Struts 2.0,Struts 2.1改变较大,Struts 2.1不仅修正了Struts 2.0中少量Bug(这些Bug在《Struts 2.1权威指南》第一版中已经指出)。而且新增了REST、Convention和Java Templates,这些都是Struts 2...
Struts 2.0.11.2 是一个流行的开源MVC框架,基于Java平台,用于构建企业级Web应用程序。这个源代码版本提供了框架的核心功能和相关组件的源码,帮助开发者深入理解其内部工作原理,进行定制化开发或者调试。 在...
标题中的"struts2-core-2[1].0.11.zip"指的是Struts2的核心库版本2.0.11.2,这是一个重要的组件,包含了处理请求、动作映射、结果渲染等核心功能。 在描述中提到的"有错误是难免的",这通常是指任何软件,包括开源...
本程序采用struts2.0+spring2.5+hiberhate3架构开发。 主要展示技术包括:三层架构 freemarker模版 面向切面编程 邮件发送 定时任务 缓存管理 运行环境: 1 TOMCAT 5.5及以上版本. 2 JDK5.0及以上版本. 3 ...
相对于2007年发布的Struts 2.0,Struts 2.1改变较大,Struts 2.1不仅修正了Struts 2.0中少量Bug(这些Bug在本书第一版中已经指出)。而且新增了REST、Convention和Java Templates,这些都是Struts 2未来的发展方向...
相对于2007年发布的Struts 2.0,Struts 2.1改变较大,Struts 2.1不仅修正了Struts 2.0中少量Bug(这些Bug在本书第一版中已经指出)。而且新增了REST、Convention和Java Templates,这些都是Struts 2未来的发展方向...
相对于2007年发布的Struts 2.0,Struts 2.1改变较大,Struts 2.1不仅修正了Struts 2.0中少量Bug(这些Bug在本书第一版中已经指出)。而且新增了REST、Convention和Java Templates,这些都是Struts 2未来的发展方向...
相对于2007年发布的Struts 2.0,Struts 2.1改变较大,Struts 2.1不仅修正了Struts 2.0中少量Bug(这些Bug在本书第一版中已经指出)。而且新增了REST、Convention和Java Templates,这些都是Struts 2未来的发展方向...
相对于2007年发布的Struts 2.0,Struts 2.1改变较大,Struts 2.1不仅修正了Struts 2.0中少量Bug(这些Bug在本书第一版中已经指出)。而且新增了REST、Convention和Java Templates,这些都是Struts 2未来的发展方向...
相对于2007年发布的Struts 2.0,Struts 2.1改变较大,Struts 2.1不仅修正了Struts 2.0中少量Bug(这些Bug在本书第一版中已经指出)。而且新增了REST、Convention和Java Templates,这些都是Struts 2未来的发展方向...
相对于2007年发布的Struts 2.0,Struts 2.1改变较大,Struts 2.1不仅修正了Struts 2.0中少量Bug(这些Bug在本书第一版中已经指出)。而且新增了REST、Convention和Java Templates,这些都是Struts 2未来的发展方向...
相对于2007年发布的Struts 2.0,Struts 2.1改变较大,Struts 2.1不仅修正了Struts 2.0中少量Bug(这些Bug在本书第一版中已经指出)。而且新增了REST、Convention和Java Templates,这些都是Struts 2未来的发展方向...
相对于2007年发布的Struts 2.0,Struts 2.1改变较大,Struts 2.1不仅修正了Struts 2.0中少量Bug(这些Bug在本书第一版中已经指出)。而且新增了REST、Convention和Java Templates,这些都是Struts 2未来的发展方向...
相对于2007年发布的Struts 2.0,Struts 2.1改变较大,Struts 2.1不仅修正了Struts 2.0中少量Bug(这些Bug在本书第一版中已经指出)。而且新增了REST、Convention和Java Templates,这些都是Struts 2未来的发展方向...
相对于2007年发布的Struts 2.0,Struts 2.1改变较大,Struts 2.1不仅修正了Struts 2.0中少量Bug(这些Bug在本书第一版中已经指出)。而且新增了REST、Convention和Java Templates,这些都是Struts 2未来的发展方向...
相对于2007年发布的Struts 2.0,Struts 2.1改变较大,Struts 2.1不仅修正了Struts 2.0中少量Bug(这些Bug在本书第一版中已经指出)。而且新增了REST、Convention和Java Templates,这些都是Struts 2未来的发展方向...
相对于2007年发布的Struts 2.0,Struts 2.1改变较大,Struts 2.1不仅修正了Struts 2.0中少量Bug(这些Bug在本书第一版中已经指出)。而且新增了REST、Convention和Java Templates,这些都是Struts 2未来的发展方向...