日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Struts编程心得

發布時間:2025/5/22 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Struts编程心得 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前期閱讀了Struts的UserGuide和相關的一些文檔,開始動手做Struts的開發

例子很簡單,就是做一個登錄的過程,參考了文檔和Struts的一些Example的代碼,總結了以下幾點:

1、能用struts的標簽的HTML代碼最好都用struts的標簽來代替。因為struts的標簽一般都提供將相對路徑轉換為絕對URL的功能,這樣可以保證css,圖片等資源被100%找到

2、 <html:base/>標簽最好用上,因為這樣做了之后,就可以保證在一些無法用struts標簽代替的HTML代碼中的資源路徑的引用是 正確的。如<link ...>這樣的HTML,還有<td background="...>這樣的HTML代碼

3、 struts自帶了common-logging,可以使用log4j,jdk的logging還有自身的simple-logging,推薦使用 log4j!具體的做法是這樣,首先將log4j的jar包放到WEB-INF/lib下,這樣,struts就可以找到log4j了;然后,在WEB- INF/class目錄下建立一個文件log4j.properties,在里面寫上配置,這樣,log4j就可以工作了!至于在代碼中如何調用,請看 struts文檔閱讀摘要。log4j的配置請看剛發的“log4j官方sample配置”一帖!4、如果要使用Validator,還要使用DynaActionForm,那么要保證如下一些事情:

(1)在struts-confg.xml中配置validator的Plug-In

(2)在validator.xml中配置validate的規則

(3)在struts-config.xml中配置form-bean,typeclass必須是DynaValidatorForm

(4)在struts-config.xml中配置這個action時,必須要配置input屬性,這樣DynaValidatorForm才可以在validator失敗的時候正確返回到輸入頁面

注:這里DynaValidatorForm還有一個繼承類,是DynaValidatorActionForm,這兩個類,根據源碼里面的注釋,有這樣的區別(目前還不是很理解):

DynaValidatorForm:

* <p>This class extends <strong>DynaActionForm</strong> and provides
* basic field validation based on an XML file. The key passed into the
* validator is the action element's 'name' attribute from the
* struts-config.xml which should match the form element's name attribute
* in the validation.xml.</p>

DynaValidatorActionForm:

* <p>This class extends <strong>DynaValidatorForm</strong> and provides
* basic field validation based on an XML file. The key passed into the
* validator is the action element's 'path' attribute from the
* struts-config.xml which should match the form element's name attribute
* in the validation.xml.</p>


還漏了一點,要用validator,要在jsp代碼里添加如下:

1、在<html:form 標簽里添加 οnsubmit="return validateLoginForm(this);"

2、在JSP頁面里添加

<html:javascript formName="LoginForm" dynamicJavascript="true" staticJavascript="false"/>
<script language="Javascript1.1" src="staticJavascript.jsp"></script>

?

5、我們可以通過書寫PlugIn的方式,讓我們的應用在啟動的時候就執行一些代碼,通常這些代碼都是初始化用的。書寫完成后需要在struts-config.xml中書寫PlugIn的配置,然后就OK了。具體的實現代碼和配置可以看EasyCluster的代碼。

6、一般來說,在PlugIn里初始化后,可以將數據放在application對象中,其實也就是servlet context中。代碼如下:

servlet.getServletContext().setAttribute(Constants.DATASOURCE_KEY, ds);

這樣,以后在JSP中,就可以直接調用application.getAttribute方法來獲得對象

在servlet中,就可以調用this.getServlet().getServletContext().getAttribute來獲得對象

?

7、bean:write 這個標簽中有一個屬性叫做filter,默認值是true。如果這個filter被置為true的話,那么,Struts將會自動對bean:write的輸出做HTML的解析,如把<font color=red>變成

&ltfont color=red&gt

這是非常討厭的情況,因為我們有的時候會在JavaBean里面寫上一些HTML代碼,希望將來在JSP中直接可以顯示出來。所以,如果在JavaBean里有這樣的HTML代碼,記得在客戶端輸出的時候把filter置成false?

轉載于:https://www.cnblogs.com/super119/archive/2011/03/19/1988606.html

總結

以上是生活随笔為你收集整理的Struts编程心得的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。