今天接著昨天的整合,由佟老師總指揮,基于xml配置的Action,這涉及struts整合.今天先把登陸實(shí)現(xiàn)了,最后使用兩個(gè)插件把員工信息錄入功能
實(shí)現(xiàn),頁面效果在當(dāng)今還是主流的。
2.服務(wù)器端驗(yàn)證
1.查詢數(shù)據(jù)庫,得到信息
2.若用戶名不存在,則提示用戶名不存在
errors.add("",new ActionMessage(" "));
若用戶名和密碼不匹配,則提示用戶名和密碼不匹配
若errors.isEmpty()為true,則登陸,并將其保存在session中,
方法:
使用 struts 的聲明式異常來轉(zhuǎn)發(fā)頁面和顯示提示信息.
詳細(xì)解決:
由 EmployeeService 的方法拋出異常, Action 不進(jìn)行處理, 而由 struts 框架根據(jù)當(dāng)前的
action 節(jié)點(diǎn)配置來進(jìn)行相應(yīng)的處理:
如果出現(xiàn)對應(yīng)的異常, 會利用當(dāng)前 excpeption 配置節(jié)點(diǎn)的 key 生成對應(yīng)的 ActionMessage
對象, 再放入 ActionMessages 中,
把頁面派發(fā)到 input 對應(yīng)的頁面中, 在前臺頁面利用 <html:errors
property="key"> 進(jìn)行顯示
4.ReflectUtils類的作用:
1.convertValue:beanUtils1.8提供了DateConverter
2. PropertyUtils: 提供了讀寫 Bean 的屬性的方法
3. fetchElementPropertyToString: StringUtils.join 方法可以把指定集合的元素用分隔符鏈接起來
4. getSuperClassGenricType: ParameterizedType
5.SimpleHibernateDao 類介紹:SimpleHibernateDao<T,PK extends
Serializable> 說明:該類在service層中使用,
T:Dao操作的對象類型
PK:主鍵類型
1.getIdName():
2.distinct(List list):通過 Set 將不唯一的對象列表唯一化,主 要用于 HQL/Criteria
預(yù)加載關(guān)聯(lián)集合形成重復(fù)記 錄, 又不方便使用 distinct 查詢語句時(shí)
6.CreateCriteria:
createQuery(String queryString, Object... values)
7. ReflectionUtils
1 convertValue: beanUtils 1.8 提供了 DateConverter
2. PropertyUtils: 提供了讀寫 Bean 的屬性的方法
3. fetchElementPropertyToString: StringUtils.join
方法可以把指定集合的元素用分隔符鏈接起來
4. getSuperClassGenricType: ParameterizedType
8. SimpleHibernateDao:
1. getIdName: ClassMetadata 該類可以獲取到對應(yīng)的 class 的 hbm 配置文件的幾乎所有信息
2. 標(biāo)準(zhǔn)查詢:
-->創(chuàng)建 Criteria 對象: session.createCriteria(clazz);
-->為 Criteria 對象添加查詢條件: criteria.add(criterion);
-->獲取 Criterion 對象: 通過 Restrictions 來獲取
9.struts的導(dǎo)航組件:struts-menu的使用方法:
1. 把 struts-menu.war 文件復(fù)制到服務(wù)器下, 運(yùn)行
2. 在 struts-config.xml 文件中加入 struts-menu 插件
3. 復(fù)制 struts-menu\WEB-INF\menu-config.xml 到 conf 目錄下.
4. 復(fù)制 struts-menu-2.4.3\struts-menu-2.4.3.jar 到 classpath 下
5. struts-menu 的去除默認(rèn)背景色問題:
①. 通過 jQuery: 把 left.jsp 頁面的第三個(gè) table 的
style="background-color:lightgrey" 屬性清除
②. 通過修改默認(rèn)的配置文件: 修改 struts-menu=2.4.3.jar
net.sf.navigator.displayer 包的的 DisplayerStrings.properties 文件,
把 dd.menu.top=<table width\="150"
style\="background-color\:lightgrey" cellpadding\=1
cellspacing\=1><tr align\=left><td nowrap
class\=normal><b>
的 style\="background-color\:lightgrey" 去除
10.員工錄入前臺驗(yàn)證,用的是jQuery的插件jquery-validate
5.對輸入的登陸名進(jìn)行ajax驗(yàn)證:驗(yàn)證該登錄名在數(shù)據(jù)庫中是否存在。
11.在loginname字段已經(jīng)給出對應(yīng)的“該登錄名已經(jīng)被占用”的基礎(chǔ)上,再一次點(diǎn)擊“提交”按鈕,則需要進(jìn)行服務(wù)器端驗(yàn)證,再返回錄入頁面
12.若驗(yàn)證都通過,則需要進(jìn)行服務(wù)器端的驗(yàn)證。
13.員工的錄入操作:
1). 顯示員工的錄入頁面
①. 查詢數(shù)據(jù)庫, 獲取所有的部門信息和職位信息, 并在頁面上加以顯示
②. 頁面使用 jQuery 的 validator 插件作為表單的前臺驗(yàn)證
1. 在當(dāng)前 jsp 頁面中導(dǎo)入 jquery.validate.js
2. 為需要驗(yàn)證的字段添加 class 屬性, 在其中指定驗(yàn)證規(guī)則, 獲取添加 minlength 等屬性
今天就到此了!