jsp小角本现在已经很少有人使用,不过有时候还真用的到,比如js中想调用java对象,而且java对象还是一个数组集合。
比如我想用js做一个动态新增,如下图
其中读取方式栏的数据要动态加载,当然可以在js中使用ajax从后台读取后再进行组装,不过每调用一次js都要触发ajax操作,效率就相对低一些;这时就可以使用jsp小角本,在js拼接中使用java数组,具体js如下:
<script> var rowIndex="${fn:length(projectApply.dataExchangeSystem)}"; function addRow2(tableObj){ var trObj="<tr>" +"<td><input name='dataExchangeSystems["+rowIndex+"].sysName' maxlength='30' size='18' /></td>" +"<td><select name='dataExchangeSystems["+rowIndex+"].inOrOut'>" +"<option value='0'>内部</option>" +"<option value='1'>外部</option>" +"</select></td>" +"<td><textarea name='dataExchangeSystems["+rowIndex+"].switchContent' cols='18' rows='1' οnkeyup='textareaRowsAuto(this);'></textarea></td>" +"<td><textarea name='dataExchangeSystems["+rowIndex+"].switchGogal' cols='18' rows='1' οnkeyup='textareaRowsAuto(this);'></textarea></td>" +"<td><textarea name='dataExchangeSystems["+rowIndex+"].transferMode' cols='18' rows='1' οnkeyup='textareaRowsAuto(this);'></textarea></td>" +"<td>"; <% DataExchangeReadType[] types=(DataExchangeReadType[])request.getAttribute("readTypeArray"); for(int i=0;i<types.length;i++){ %> trObj+="<input type='checkbox' name='dataExchangeSystems["+rowIndex+"].readMode' value='<%=types[i].toString()%>'/><%=types[i].getName()%> "; <% } %> trObj+="</td>" +"<td><a href='javascript:void(0);' οnclick='$(this).closest(\"tr\").remove();' class='btnDel'>删除</a></td>" +"</tr>"; $(tableObj).append(trObj); rowIndex++; } </script>