2006年2月5日 #
目前的功能有:信息發(fā)布、導(dǎo)航菜單、欄目維護(hù)、文章維護(hù)、后臺登錄,完成了Tiles的組裝,首頁靜態(tài)頁面的布局分割。現(xiàn)在美工方面進(jìn)一步加工一下,一個文章發(fā)布系統(tǒng)已具雛形,尚且叫它v0.1版吧:)
另外需求稿方面已經(jīng)進(jìn)展到v0.7版本,現(xiàn)在這個剛有點(diǎn)形狀的文章發(fā)布系統(tǒng)是整個大系統(tǒng)的一小部分,不過功能雖少,但主要收獲是解決了一些JSF方面經(jīng)常遇到的問題。
上面這行在用sun-ri的應(yīng)用中不會報錯
但在MyFaces中就會報錯:
原因就出在id="" 去掉就會好了
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: empty expr javax.faces.webapp.FacesServlet.service(FacesServlet.java:121) org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122) com.bizcms.view.utils.SecurityFilter.doFilter(Unknown Source)
root cause
javax.faces.FacesException: empty expr org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:421) org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.dispatch(JspTilesViewHandlerImpl.java:233) org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.renderView(JspTilesViewHandlerImpl.java:219) org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:352) javax.faces.webapp.FacesServlet.service(FacesServlet.java:107) org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122) com.bizcms.view.utils.SecurityFilter.doFilter(Unknown Source)
一、Action Controller的Action方法中手工獲取請求信息
ExternalContext context = FacesContext.getCurrentInstance().getExternalContext();
HttpServletRequest request = (HttpServletRequest) context.getRequest();
String email = request.getParameter("form2:email");
二、保護(hù)/下面的jsp文件不被直接訪問
在web.xml中加入:
<security-constraint>
<display-name>
Prevent access to raw JSP pages that are for JSF pages.
</display-name>
<web-resource-collection>
<web-resource-name>Raw-JSF-JSP-Pages</web-resource-name>
<!-- Add url-pattern for EACH raw JSP page -->
<url-pattern>/welcome.jsp</url-pattern>
<url-pattern>/login.jsp</url-pattern>
......
</web-resource-collection>
<auth-constraint>
<description>No roles, so no direct access</description>
</auth-constraint>
</security-constraint>
三、加載國際化資源文件
<f:view locale="#{facesContext.externalContext.request.locale}">
<f:loadBundle basename="messages" var="msgs"/>
/WEB-INF/classes目錄下,放messages_cn.properties,message_en.properties.....
待續(xù)。。。
今天在跟客戶認(rèn)真地談了一次需求,雙方整理出一份需求稿v0.1版,將幾大功能版塊總體需求及部分細(xì)節(jié)、各版塊開發(fā)緊急程度、前期部分開發(fā)任務(wù)(有一小部分比較簡單的功能由于業(yè)務(wù)開展的需要)的時間進(jìn)度初步明確下來。開發(fā)團(tuán)隊現(xiàn)在有3人,正在物色一名美工,將來看情況擴(kuò)充一名開發(fā)人員。周6前的工作目標(biāo)就是進(jìn)一步跟客戶整理和確認(rèn)需求、相關(guān)開發(fā)規(guī)范資料的收集編寫、團(tuán)隊開發(fā)溝通平臺的準(zhǔn)備、確定同客戶的溝通機(jī)制、團(tuán)隊個人開發(fā)環(huán)境的準(zhǔn)備等等。
這本書是我今天在整理自己的書柜時找到的,01年買的了,一直沒看,今天翻出來瀏覽了一下目錄,主要是介紹小組團(tuán)隊開發(fā)的整個過程以及過程中涉及的計劃、溝通協(xié)調(diào)、進(jìn)度跟蹤、需求定義、小組設(shè)計、測試、維護(hù)等我們比較關(guān)心的問題,并提供了一些實(shí)際操作性很強(qiáng)的規(guī)范。個人感覺非常實(shí)用,所以給大家推薦一下:
《小組軟件開發(fā)過程》 人民郵電出的
《Introduction to the Team Software Process》
另外一個是初步研究了如何實(shí)現(xiàn)Html編輯器,能將編輯完的內(nèi)容存到表的字段中,就像在這里發(fā)表隨筆的功能;
等這兩個功能進(jìn)一步完善后,就可以維護(hù)欄目和每個欄目下的內(nèi)容,實(shí)現(xiàn)欄目內(nèi)容的分類和在線維護(hù)

<hibernate-mapping package=".........................">
<class name="Category" table="cms_categories" lazy="false">
<id name="id" type="long" column="CATE_ID">
<generator class="identity"/>
</id>
<property name="name" type="string" column="CATE_NAME" length="60" not-null="true"/>
<set
name="childCategories"
cascade="save-update"
inverse="true"
>
<key column="CATE_CATEGORY_ID" />
<one-to-many class="Category" />
</set>
<many-to-one name="parentCategory" column="CATE_CATEGORY_ID" class="Category" cascade="none" />
</class>
</hibernate-mapping>
另外哪位熟悉hibernate的朋友,幫我看看,上面是Category類的映射方法,不過當(dāng)我寫:
Category category = new Category(categoryName);
// find the new category's parent category object by the param parentCategoryId
Category parentCategory = categoryDao.getCategory(parentCategoryId);
if (parentCategory != null) {
category.setParentCategory(parentCategory);
// parentCategory.getChildCategories().add(category); ************
categoryDao.save(category);
...............................
*******行如果不注釋掉就會出Exception,哪位熟悉hibernate的朋友給指點(diǎn)一下


今天要上班了(凌晨了),放完假后就不想每天都弄到凌晨才睡了。。。
今天早上看了一下,exadel中包含的hibernate版本是3.1.0 alpha
