今天又遇到了一个小小的问题,就是struts中用了struts标签后,如何设定option, radio 默认值!这个好像是struts标签的一个bug吧。他的tld里,没定义selected或者checked的属性,不过用javascript可以解决。
 
今天又遇到了一个小小的问题,就是struts中用了struts标签后,如何设定默认值!这个好像是struts标签的一个bug吧。他的tld里,没定义selected或者checked的属性,不过用javascript可以解决。
Radio单选标签:
长型
圆型
如果要设定打开页面的时候,是选中"长型"还是"圆型",该怎么样 呢?的定义标签没有selected这样的属性,所以不能写成长型这种样子之类。查了前人的解决办法,就是干脆不 用,直接写成HTML标签。
HTML单选标签:
长型
圆型
这样当然可以解决默认选项的问题,但是因为现在的项目是用FormBean和validate绑定验证的,如果用HTML标签就不能统一验证了。只能选择其他的路解决了。
我现在的需要是这样子的, step1 --> step2 --> step3 --> step4 --> step5, 相当于一页一页的填写,最后提交。每一页又要求可以返回上一页重新填写,step1 <--> step2 <--> step3 <--> step4 <--> step5,路径是双向的。分析了一下,为了不影响Action层的代码,在每一页用javascript处理默认状态最为合适。
下面是javascript的代码:
 function initTecVideoType(value){
      var videotype = document.getElementsByName("tecvideotype");
      var len = videotype.length;
      var i=0;
      for(;i        if(value == videotype[i].value){
        videotype[i].checked=true;
        break;
       }
      } 
     }
在页面初始的时候用加载上面的js。然后传一个value和tecvideotype.value比较,来设置默认值。

下拉菜单也是同理:

       朝阳区派出所
       东城区派出所
       西城区派出所
javascript的代码:
function initMamtShareDept(dept){
 var sharedept = document.getElementsByName("mamtsharedept");
 sharedept[0].value=dept;
}