(转)struts标签中不能加入java代码?
http://blog.sina.com.cn/s/blog_49605b46010007o2.html
<div name='endDateHourDiv<%=i%>' onclick="changeSelect('<%=i%>')">
<html:select property="endDateHour" onclick="Change(this.value,'<%=i%>')">
<html:option value="">时</html:option>
<html:options collection="endDateHourList" property="id" labelProperty="name"/>
</html:select></div>
这段代码运行时,div标签中的<%=i%>可以成功解析成具体值,但select标签中 onclick后面的方法 解析的结果是把<%=i%> 当成了一个字符串,而并不是i的值,这是程序运行后的结果
<div name='endDateHourDiv2' onclick="changeSelect('2')">
<select name="endDateHour" onclick="Change(this.value,'<%=i%>')">
<option value="">时</option>
<option value="00">00</option>
</select></div>
这是什么原因呢?在我印象中好像没有struts标签中加入java代码不能解析的问题呀,但事实情况就是如此。
后来,经过多种尝试,终于解决了问题,解决方法如下:
<div name='endDateHourDiv<%=i%>' onclick="changeSelect('<%=i%>')">
<%String jf = "Change(this.value,"+i+"%>')";%>
<html:select property="endDateHour" onclick="<%=jf%>">
<html:option value="">时</html:option>
<html:options collection="endDateHourList" property="id" labelProperty="name"/>
</html:select></div>
结论是,struts标签中不是不能加java代码,二是要注意格式。如果struts标签中某个属性的值需要由java代码来填充,那么最好是将需要填充的字符串或表达式在先前先连接好或计算好,赋值给一个变量,让这个变量来为这个标签属性赋值。
注:
自己练习时的对策:
<logic:iterate id="item" indexId="rowI
相关文档:
今天遇到一个要生成一个下拉列表框的问题,我的想法是:将数据库内的所有数据都存储到一个List里面,再在前台遍历整个list。
执行效果图:
水果
→苹果
→→苹果系列1
→→苹果系列2
→→苹果系列3
→→苹果系列4
→梨
→桃子
学习用品
→笔
→→铅笔 ......
1.八进制转义序列:\ + 1到3位5数字;范围'\000'~'\377'
\0:空字符
2.Unicode转义字符:\u + 四个十六进制数字;0~65535
\u0000:空字符
3.特殊字符:就3个
\":双引号
\':单引号
&nbs ......
线程的创建和启动
Java语言已经内置了多线程支持,所有实现Runnable接口的类都可被启动一个新线程,新线程会执行该实例的run()方法,当run()方法执行完毕后,线程就结束了。一旦一个线程执行完毕,这个实例就不能再重新启动,只能重新生成一个新实例,再启动一个新线程。
Thread类是实现了Runnable接口的一个实例,它代表 ......
String转Character数组,用Character的isDigit和isLetter函数去判断。
public static boolean isNumeric(String str) {
for (int i = str.length(); i = 0;) {
if (!Character.isDigit(str.charAt(i))) {
return false;
}
}
return true;
}
public static boolean isNumeric(String str) {
Pattern patt ......