Struts2之路第一天
打個廣告java1234資源分享
1.Struts2的核心是將請求與視圖分開,只需要改配置文件就可以改變視圖。
2.jsp文件報錯:Can not find the tag library descriptor for "/struts-tags"。
<!-- <%@ taglib prefix="c" uri="/struts-tags" %>會報錯,錯誤提示為: Can not find
the tag library descriptor for "/struts-tags" struts-core-xxx.jar包不是struts2的需要在web中配置:
-->
我之后又啟動服務器時,報錯org xml sax saxparseexception前言中不允許有內容,當我把加進去的這段代碼刪了之后,兩個錯誤都沒了。
3.修改默認編碼 Preferences->搜索jsp->JSP Files 將Encoding改為 ISO 10646/Unicode(UTF-8),IANA就會變為UTF-8.
4.Struts1里面action對象只有一個,Struts2里面每次訪問都會創建一個對象
5.路徑問題,當在struts.xml里面沒有找到對應的namespace時,會返回到web.xml,找到welcome file,將默認的歡迎界面返回到客戶端。struts2中的路徑問題是根據action的路徑而不是jsp路徑來確定,所以盡量不要使用相對路徑。可以在jsp頁面如加入
<% String Path = request,getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>再在head標簽中加入
<base href="<%=basePath%>"/>這樣,該文檔中所有href鏈接前面均加上了http://站點名:端口號/項目名/,如http://localhost:8080/Struts2_0100/
6.Action 執行的時候不一定要執行execute方法。可以使用動態方法調用DMI,有兩種方式
? a.通過配置文件struts.xml中action的method屬性指定調用方法,如:
???????? <action?? method="調用方法名">;
???? b.在URL中動態指定調用方法,使用感嘆號“!”將action名和調用方法名分割開,如:
???????? http://localhost:8080/Struts2_DMI/user!add
7.通配符*
通配符*表示所有,{1}表示第一個*代表的字符串,{2}表示第二個*代表的字符串。如果使用通配符*,要先約定好命名規則,“約定優于配置” 。
8.jdk1.5和jdk1.6的區別在jdk1.5中,如果實現的是一個接口,就不能寫@override,在jdk1.6中可以寫。設置jdk,proporties --> Java Compiler:在Compiler compliance lever中選擇合適的jdk版本,注意Tomcat里面也弄成一樣的。
9.用Action 的屬性接收參數,Action里面的成員變量和URL地址里面的參數可以是一一對應的。Struts2會自動調用方法把參數值傳遞到成員變量里,所以getter方法名要與變量名一致。
10.DomainModel接收參數。DomainModel是域模型,是真正存在的實體概念。執行action時會自動生成DomainModel對象,接收參數。當參數個數與DomainModel對象的屬性不一致時,我們可以創建VO。action執行時,參數會先與VO對象匹配,然后可以用new DomainModel(VO),將VO整體的交到DoainModel里面.
11.使用ModelDriver接收參數,實現ModelDriver接口,調用getModel方法,返回一個DomainModel實體對象
12.剛剛新建一個struts2的項目時,用的是2.3.15的版本,只導入七個jar包時報錯java.lang.RuntimeException: java.lang.reflect.InvocationTargetException和java.lang.NoClassDefFoundError:org/apache/commons/lang/StringUtils這是因為缺少commons-lang3-3.1.jar和javassist-3.11.0.GA.jar這兩個jar包造成的。
轉載于:https://www.cnblogs.com/ligui989/p/3170053.html
總結
以上是生活随笔為你收集整理的Struts2之路第一天的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android的Notification
- 下一篇: POJ 2983