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

Posted on 2007-10-10 13:51 久城 阅读(2073) 评论(7)  编辑  收藏 所属分类: 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仅用于个人学习交流!
目的在于记录个人成长.
所有文字均属于个人理解.
如有错误,望多多指教!不胜感激!

Feedback

# re: 整理近几天处理JSP页面中遇到的几个问题  回复  更多评论   

2007-10-10 15:07 by G_G
呵呵
好实在的程序员啊
G_G

# re: 整理近几天处理JSP页面中遇到的几个问题  回复  更多评论   

2007-10-10 15:44 by 自在大羽
"可能就是不支持吧。"????
能不能实诚点儿,弄明白儿的。

# re: 整理近几天处理JSP页面中遇到的几个问题  回复  更多评论   

2007-10-10 15:54 by 久城
@自在大羽
我算发现了,你是真的好闲啊。

# re: 整理近几天处理JSP页面中遇到的几个问题  回复  更多评论   

2007-10-11 08:10 by 久城
PS:
weblogic8.1不支持JSP2.0,所以就不能支持JSTL1.1与EL了, 因为JSTL1.1与EL只能在JSP2.0中用,所以JSTL1.1与EL就不能在weblogic8.1中用了,目前支持JSP2.0的Server不多, Tomcat5是一个,Tomcat4都不支持。

# re: 整理近几天处理JSP页面中遇到的几个问题  回复  更多评论   

2007-10-11 08:16 by ce
hehe。。。

# re: 整理近几天处理JSP页面中遇到的几个问题  回复  更多评论   

2007-10-11 11:02 by guoping
<html:text property="usrName" style="ime-mode: inactive;" maxlength="4" />

这个怎么用。。。好像不起作用啊

# re: 整理近几天处理JSP页面中遇到的几个问题  回复  更多评论   

2007-10-11 11:15 by 久城
@guoping
ime-mode是控制输入法的。
css2.0手册中写过:
ime-mode : auto | active | inactive | disabled
auto : 默认值。不影响IME的状态。与不指定 ime-mode 属性时相同
active : 指定所有使用IME输入的字符。即激活本地语言输入法。用户仍可以撤销激活IME
inactive : 指定所有不使用IME输入的字符。即激活非本地语言。用户仍可以撤销激活IME
disabled : 完全禁用IME。对于有焦点的控件(如输入框),用户不可以激活IME

实例代码:
<style>
#idDIV{width:100%;height:80px;background-color:#FFFFFF;padding:4px;font-family:verdana,tahoma;font-weight:bold;}
#idCodeDiv{width:100%;padding:4px;font-family:verdana,tahoma;margin:12px 0px 0px 0px;background-color:#EEEEEE;font-weight:bold;}
</style>

<div id=idDIV>
<input type=text size=20 style="ime-mode:auto;" value="ime-mode : auto"><br>
<input type=text size=20 style="ime-mode:active;" value="ime-mode : active"><br>
<input type=text size=20 style="ime-mode:inactive;" value="ime-mode : inactive"><br>
<input type=text size=20 style="ime-mode:disabled;" value="ime-mode : disabled"><br>
</div>
<br>
<div id=idCodeDiv>请用鼠标激活上列输入框的输入。然后尝试切换输入法状态。</div>

只有注册用户登录后才能发表评论。


网站导航:
 

Copyright © 久城