struts1 7大元件
actionservlet 控制器
action 包含事務邏輯
actionform 顯示模組資料 資料模型
actionforward 用來指示操作轉移的物件
actionerror 用來儲存和**錯誤
struts標記庫 可以減輕開發顯示層次的工作
mvc
model------actionform
v---------jsp
contrl----actionservlet 核心控制器
業務控制器 action
1 helloworld(不帶form)
strutt1.2與1.3在lib上的差別 由於1.2中沒有標籤庫包 ,所以需要相關的tld檔案
(struts-bean.tld,struts-html.tld,struts-logic.tld,struts-nested.tld,struts-tiles.tld)
(1)導包 拷貝需要相關的tld檔案(1.2)
(2)寫action類 繼承action 重寫execute方法
public class helloworldaction extends action
} (3)在web-inf新建struts-config.xml檔案
<?xml version="1.0" encoding="utf-8" ?>
"-//apache software foundation//dtd struts configuration 1.2//en"
"">
(4)在web.xml進行struts配置
action
org.apache.struts.action.actionservlet
config
/web-inf/struts-config.xml 2
action
*.do
(5)執行 http://localhost:埠號/應用名/配置的path
演示不同路徑訪問 以及傳值回jsp頁面
2 helloworld(在1的基礎上 帶form)
(1) 編寫actionform 繼承actionform 裡面提供相關屬性的set與get方法
(2) 在struts-config.xml配置 form-bean
對乙個actionform裡的資料進行驗證配置
這裡配置乙個屬性的驗證內容
定義乙個變數的標籤體,可以在裡面具體設定變數的名稱以及數值
對應key裡定義的變數名稱
值 這裡定義了key後,會使用自己的定義的key,否則使用驗證規則預設定義的key
在驗證規則中大部分可以使用已經預定義好的規則,它們在validator-rules.xml裡,當然我們自己也可以定義規則。
其實,這個檔名可以是任意的,可以起成別的名字,比如:validators.xml,不過,也要相應修改struts-config.xml檔案中的加入validator框架plugin中的value屬性。這個value屬性用來指定validator-rules檔案和具體的驗證檔案。
1)根元素:
validators.xml檔案的「根元素(root)」是form-validation,
意味著整個檔案的內容包含在「
傳引數到minlength
property="password"
depends="required,minlength">
minlength
6 正規表示式例子
property="password"
depends="required,mask">
mask
^[0-9a-za-z]*$
日期驗證例子
property="date"
depends="required,date">
datepattern
yyyy-mm-dd
基本驗證規則:
名稱 描述
byte,short,integer, 檢驗值是否能被轉換成對應的基本資料型別
long,float,double
creditcard 檢驗輸入域是否是乙個合法的信用卡號碼
date(有點失望) 檢驗輸入域是否是乙個合法日期 form中對應的date型別為字串型別 只驗證字串型別 有點失望
email 檢驗輸入是否是乙個合法email位址
mask 檢驗輸入域是否能成功匹配乙個正規表示式
maxlength 檢驗值的長度是否小於等於給定的最大長度
minlength 檢驗值的長度是否大於等於給定的最小長度
range 檢驗值的範圍是否在最大值和最小值之間
required 檢驗輸入域是否為不為空,或不包含空格值的長度是否大於零
12 tiles框架
tiles框架提供了一種模板機制,它可以將網頁內容和布局分離,並允許先建立模板,然後在頁面中再插入具體的內容。
tiles框架是struts的乙個外掛程式。我們可以使用tiles框架來進行頁面布局設計。
使用tiles步驟
在所使用tiles標籤頁面引入 <%@taglib prefix="tiles" uri="/web-inf/struts-tiles.tld"%>
1 先定義乙個模板 做好乙個模板頁面 例如 以下兩種方式均可
1.1 使用標籤定義模板
1.2 使用標籤定義模板
2 使用模板頁面 使用與標籤
在struts1使用tiles
1 在struts應用程式中使用tiles,我們需要新增如下定義到struts-config.xml檔案。
2 tiles-defs.xml 以下示例 定義baselayout friends和office都繼承了它
<?xml version="1.0" encoding="utf-8" ?>
"-//apache software foundation//dtd tiles configuration 1.1//en"
"">
3 修改struts-config.xml 注意path的值 為 tiles-defs.xml檔案中的定義definition name
struts1學習筆記一
使用者註冊案例 1.寫乙個register.jsp頁面 2 匯入struts開發包,在web.xml中配置struts寫的 actionservlet,讓它處理所有的.do請求。actionservlet org.apache.struts.action.actionservlet config w...
struts1的工作原理
actionservlet從struts config.xml檔案中讀取配置資訊,把它們存放到各種配置物件中。當actionservlet接收到乙個客戶請求時,將執行如下流程.1 在web應用程式啟動或者第乙個servlet請求到達的時候,會載入並初始化actionservlet,具體什麼時候初始化...
struts1的執行流程
我們剛剛談論到表單自動收集,那表單自動收集之後,系統就會呼叫processactioncreate這個方法去建立請求對應的action了。這時候注意主角登場了。在建立action的時候,會有乙個鎖的機制,即單例 同步 那就是為什麼struts1效率低的原因了,畢竟是在一到控制層建立action就加了...