struts 的radio标记的增强
来源:互联网 发布:vhms域名接口 编辑:程序博客网 时间:2024/05/16 14:53
写struts的html标记的人不知道是不是对html标记不熟,写出来的标记怎么怪里怪气的,id标记被用来绑定bean了,我还以为不支持html的id属性了,不小心看到org.apache.struts.taglib.html.BaseHandlerTag的prepareStyles()方法里面,居然赫然写着:
if (styleId != null) {
styles.append(" id=/"");
styles.append(getStyleId());
styles.append("/"");
}
原来要用styleId属性来定义html的id属性,不看源码你敢这么猜吗,怎么看styleId都象是个样式有关的属性嘛,要定义html的id属性,如果不能用id至少也应该叫HTMLID或者tagId之类的名字嘛。ok,源码都看了,那我们用styleId也成,可是看看radio标记就实在是笨了:
public int doAfterBody() throws JspException {
if (this.bodyContent != null) {
String value = this.bodyContent.getString().trim();
if (value.length() > 0) {
this.text = value;
}
}
return (SKIP_BODY);
}
你说我把文字括到<html:radio>text</html:radio>标记中间为的是什么?当然这个文字要和radio绑定啦。可是上面的代码居然直接把文字往生成的<input type="radio"...>标记后面一丢了事,有这么不负责的嘛?
还好咱java和html都还懂一点。自己写个类:
package hospital.tongren.oa.common.web.tag;
import javax.servlet.jsp.JspException;
public class RadioTag extends org.apache.struts.taglib.html.RadioTag{
public int doAfterBody() throws JspException {
if (this.bodyContent != null) {
String value = this.bodyContent.getString().trim();
if (value.length() > 0) {
this.text = "<label for=/""+getStyleId()+"/" "+
prepareEventHandlers()+
prepareStyles().replaceAll(" id=/""+getStyleId()+"/"","")+
">"+value+"</label>";
}
}
super.setStyleId(null);
return (SKIP_BODY);
}
static int idCount=0;
public int doStartTag() throws JspException {
if (super.getStyleId() == null){
super.setStyleId("RadioTag_"+ ++idCount);
}
return super.doStartTag();
}
}
然后再在WEB-INF下面找到struts-html.tld,把
<tagclass>org.apache.struts.taglib.html.RadioTag</tagclass>
改为
<tagclass>myPackage.RadioTag</tagclass>
这下整个世界都清凉多了。回家过五一了,下次再对checkbox开刀吧。
- struts 的radio标记的增强
- struts 的radio标记的增强
- struts logic 的标记
- struts html标记 的看法
- struts的bean标记库
- struts的bean标记库
- 详细介绍HTML的增强标记
- struts中s:radio的用法
- 取得struts radio控件的值
- Struts中logic:iterate标记的使用
- Struts的标记完成复杂循环
- Struts的标记完成复杂循环
- Struts中Tilts标记的使用
- 实用HTML文件的增强标记(插入动画)
- struts 里关于checkbox与radio的 用法解析
- struts 取select控件和radio控件的值
- 设置struts的html:radio默认为选中状态
- struts的html:radio之一默认为选中状态
- Puyo Game_一个好玩的游戏!
- 在JSP中使用JavaMail(2)
- 差点,参加中国平安保险集团
- 利用对象序列化深表克隆对象
- 内存映射的用法
- struts 的radio标记的增强
- 一篇小说中对追求mm的经典诠释
- Tomcat小技巧(2)--在JBuilder中整合Tomcat
- SQL数据库与文本文件之间的大批量数据互导
- 通过一个简单的例子,介绍如何使用LDAP(转)
- 让人绝倒的毕业答辩现场
- JSP连接各类数据库大全
- 让Apache支持ASP.Net(编辑转载)
- 浅谈人生