整理处理JSP页面中遇到的几个问题


十一回家腐败了几天,回到公司,紧张的气氛又开始了。继续奋斗。

1. 用javascript中的Array存储服务器端传来的List数据。

有些数据从服务器端传过来,需要保存到客户端。

    起初的做法,对于个别的数据,放在页面中的某个隐藏层中,或者作为隐藏字段存起来,当用的时候,再用JS取相应的控件再取到value。

<div id="hdnUsrNm" style="display:none;">
  <bean:write name="user" property="usrName" />
</div>
<html:hidden name="user" property="usrName" />

    后来,需要保存的数据量大了一些(不是相当大^.^),再放到页面中,使页面显得很臃肿,而且很容易造成格式显示错乱。于是改用JS中的Array对象来保存。

var resultArr = new Array();
resultArr=[
<logic:present name="UserList">
  <logic:iterate id="user" name="UserList">
  ["<bean:write name='user' property='usrName' />",
"<bean:write name='user' property='usrBlog' />"
  ],
</logic:iterate>
  </logic:present>
[] //为了对应最后一个逗号,把最后一个对象设置为空。
];

2. EL语言的应用

为了方便,起初使用了EL语言。基本表达式如:${expression}。

刚开始用的时候感觉非常的爽,使用起来很方便,但是后来遇到一个问题需要注意。

    EL语句在tomcat下解析运行都没有问题,但是当移植到weblogic上时,服务器无法识别。为什么,我也不清楚。可能就是不支持吧。

3. checkbox自动选中指定对象。

经过服务器端的处理,客户端的checkbox要对应处理结果显示选中状态。


<input type="checkbox" name="element1" value="<%=i++ %>"
<logic:equal name="contract" property="packageCodeContents" value="<%=packageCode %>"> checked </logic:equal>
onclick="checkboxClicked(this)" >

4. checkbox实现radio效果。

这个实现起来很容易,犹豫radio选中之后不能取消的局限,有的时候需要用checkbox来代替实现。

function checkboxClicked(obj){
if( obj.checked == true) {
for(var i=0;i < document.all("element1").length;i++){
document.all("element1")[i].checked = false;
}
obj.checked = true;
}
}

5. 用CSS实现自动转换输入法为半角。

<html:text property="usrName" style="ime-mode: inactive;" maxlength="4" />
欢迎来访!^.^!
本BLOG仅用于个人学习交流!
目的在于记录个人成长.
所有文字均属于个人理解.
如有错误,望多多指教!不胜感激!

 

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3