dwr-spring-hibernateの使用
最近権限のあるページを書いて、dwrで処理して、便利だと思います.
dwrの構成は次のとおりです.
web.xmlページ:
dwrの構成は次のとおりです.
web.xmlページ:
<!-- dwr -->
<listener>
<listener-class>
org.directwebremoting.servlet.DwrListener
</listener-class>
</listener>
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>
org.directwebremoting.servlet.DwrServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
dwr.xmlページ
<create creator="spring" javascript="permissionService">
<param name="beanName" value="permissionService"></param>
</create>
スプリングプロファイル
<bean id="permissionService"
name="permissionService"
class="com.base.service.impl.PermissionServiceImpl" >
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
jspページ:
<script type='text/javascript' src='${pageContext.request.contextPath}/dwr/interface/permissionService.js'></script>
<script type='text/javascript' src='${pageContext.request.contextPath}/dwr/engine.js'></script>
<script type='text/javascript' src='${pageContext.request.contextPath}/dwr/util.js'></script>
<script type="text/javascript">
function addOrModifyPermission(field) {
//if checked addormodiy item ,or delete
var res = field.attributes['resource'].nodeValue;
if(field.checked) {
//alert(field.resource);
$(res+"_per").checked = true;
permissionService.addMenuctrl(
res,
${rule.ruleno}
);
} else {
$(res+"_per").checked = false;
permissionService.removeMenuctrl(
res,
${rule.ruleno}
);
}
}
//
function initTable() {
permissionService.findMenuctrlByRules(
${rule.ruleno},
function(data){
for(var i=0;i<data.length;i++){
var resource = data[i][0];
$(resource+"_per").checked = true;
}
}
);
}
</script>
<title>
${rule.rulename}
</title>
</head>
<body bgcolor="#ccddee" link="#000066" vlink="#0066FF" alink="#99FF00" onload="initTable()">
<center>
<table cellspacing="0" border="0" cellpadding="0" style="width:680px;">
<tr>
<td align="center"> </td>
<td align="center"> </td>
<td align="center"> </td>
<td align="center"> </td>
<td align="center"> </td>
<td align="center"> </td>
<td align="center"> </td>
<td align="center"> </td>
</tr>
<tr>
<s:iterator value="menulist" status="rowstatus" var="menu">
<td align="center">
<input type="checkbox" id="<s:property value="menuid"/>_per" onclick="addOrModifyPermission(this)" resource="<s:property value="menuid"/>" >
</td>
<td align="center"><s:property value="menuname"/></td>
<s:if test="#rowstatus.count%4 == 0"></tr><tr></s:if>
</s:iterator>
</table>
</center>
</body>
</html>
全体の操作の過程の中で比較的に面白いのはjspページの中でjsの編纂で、その中に多くのjsのプログラミング思想が含まれて、javaと比較して別の中で感じて、時間をかけて研究する価値があります.