但是还有一个问题。
就是如果我写在<s:if><input type="button"></s:if>
这时,button的样式就会变成灰色平的,和普通的不一样。 但是还是可以点,就是没有效果。请教要怎么修改

解决方案 »

  1.   

    说实话,你这样用系统没报错就好的了,这个s:if需要添加test判断,就和编码中的if一个原理,通常和s:else和s:elseif一起用,这个标签主要作用就是在浏览器加载页面前就告诉浏览器哪些东西需要加载到页面哪些东西不需要,比如<s:if test="flag==0"><input type="button"/></s:if>
    如果flag的值为0,则这个会被添加到html中,它该是什么样就是什么样,如果不等于0,则页面中根本就看到不到这个元素
      

  2.   

    还有我建议你浏览一下源码,就是浏览器渲染后,看源码中多了什么东西少了什么东西,其实struts中很多标签,当真正渲染到浏览器中时都会转换成html标签,不管是asp还是jsp,不管是什么标签,其实真正意义上浏览器根本不认识,都是asp.net和jsp的服务器知道这些东西把他转换为浏览器能认识的html标签,举个简单的例子:s:textfield这个标签里面有什么很多属性都是struts给他定义好了,然后解析出来就变成input标签了,同时它的一些属性也变成了html可以识别的东西了,比如cssClass解析后就变成class了,其实自己也可以定义标签的这个等你慢慢研究