今天復習知識點:
一.工作流,審批流程。舉例,比如請假流程:
提交申請-->部門經理 -->
后面是一層一層的審批...
審批流轉就是把單位內部的審批電子化。經過的環節和人不一樣
四點要求:
流程定義:
二.分頁設計
<a href="javascript:gotoPage(1)">[首頁]</a>
<c:if test="${pageView.currentPage gt 1}">
<a href="javascript:gotoPage(${pageView.currentPage-1})">[上一頁]</a>
</c:if>
<c:if test="javascript:gotoPage(${pageView.currentPage lt pageView.totalPage})">
<a href="javascript:gotoPage(${pageView.currentPage-1})">[下一頁]</a>
</c:if>
<a href="javascript:gotoPage(${totalPage})">[尾頁]</a>
<c:forEach begin="${startPageIndex}" end="endPageIndex" var="n">
${n}
</c:forEach>
轉到:<input type="text" id="txtPageNum"/>
<input type="button" value="Go" onclick="gotoPage(document.getElementById('txtPageNum').value"/>
<script type="text/javascript">
function gotoPage(pageNum){
if(isNaN(pageNum)){
alert("請輸入正確的頁碼");
document.getElementById('txtPageNum').focus();
return false;
}
window.location.href = getPageViewUrl(pageNum);
}
//提供分頁用的地址。由具體的引用頁面提供
function getPageViewUrl(pageNum){
return "/xxx.do?pageNum="+pageNum;
}
</script>
3.Hibernate的分頁
getSession().createQuery(//
"SELECT COUNT(pd) FROM org.jbpm.ProcessDefinition pd")//
.uniqueResult();
getSession().createQuery(//
"FROM ProcessDefinition")//
.setFirstResult(firstResult)//
.setMaxResults(pageSize)//
.list();
4.表單模板設計
表單定義(FormDefinition)
表單名稱
所用流程
表單代碼文件路徑
保存數據:不能用ActionForm,
表單中要填寫的數據量,數據類型未知。用原始方法
for(Enumeration<String> e= request.getParameterNames();e.hasMoreElements();){
String name = e.nextElement();
String value=request.getParameter(name);
}但是我們無法解決2個問題:
1.保存成什么類型
2.保存哪些參數值?
解決辦法:
Map<String,Class> fieldDefinitionList = new HashMap<String,Class>();
之后在Action中可以用
for(String name:formDefinition.getFieldDefinitionList().keySet()){
String stringValue = request.getParameter(name);
Class clazz=formDefinition.getFieldDefinitionList().get(name);
}
保存一次填寫的所有信息,就是表單實例,就是表單定義的具體實現
明天就是JPA了,要好好休息,繼續努力,春節已過去,踏上新的起點!