今天主要做項目了,學到了批量修改資料。
從網頁到内部邏輯的代碼
<s:iterator value="#request.list" id="ud">
<tr>
<td>
<s:property value="#ud[0]" />
</td>
<td>
<s:property value="#ud[1]" />
</td>
<td>
<s:property value="#ud[2]" />
</td>
<td>
<s:property value="#ud[3]" />
</td>
<td>
<s:property value="#ud[4]" />
</td>
<td>
<s:property value="#ud[5]" />
</td>
<td>
<s:property value="#ud[6]" />
</td>
<td>
<s:property value="#ud[7]" />
</td>
<td>
<s:property value="#ud[8]" />
</td>
<td>
<s:property value="#ud[9]" />
</td>
<td>
<s:property value="#ud[10]" />
</td>
<td>
<s:property value="#ud[11]" />
</td>
<td>
<s:property value="#ud[12]" />
</td>
<td>
<s:property value="#ud[13]" />
</td>
<td>
<a href="showDetail.action?user.xh=<s:property value=" target="_blank" rel="external nofollow" #ud[1]"/>">詳細資訊</a>
</td>
<td>
<input type="checkbox" name="selectFlag"
value="<s:property value="#ud[1]"/>">
</td>
</tr>
</s:iterator>
全選的javascript
<script type="text/javascript">
function checkAll() {
for ( var i = 0; i < document.getElementsByName("selectFlag").length; i++) {
document.getElementsByName("selectFlag")[i].checked = true;
}
}
</script>
Action類中代碼
public String batchthrowAduit() {
HttpServletRequest request = ServletActionContext.getRequest();
String[] xhs = request.getParameterValues("selectFlag");
detailService.batchThrow(xhs);
return SUCCESS;
}
Dao層Imp類中代碼
public void batchThrow(String[] xhs) {
// TODO Auto-generated method stub
StringBuffer sbSql = new StringBuffer();
for (int i = 0; i < xhs.length; i++) {
sbSql.append("'");
sbSql.append(xhs[i]);
sbSql.append("',");
}
Session session = getHibernateTemplate().getSessionFactory()
.openSession();
Transaction ts = session.beginTransaction();
Query query = session
.createQuery("update Detail set sh='已認證' where xh in ("
+ sbSql.substring(0, sbSql.length() - 1) + ")");
query.executeUpdate();
ts.commit();
session.close();
}
項目進展:增加了管理者的資訊以及權限問題,增加了稽核功能。