春天的熊

JSF中使用rendered时的两个问题??

<tr>
               <td valign="top" align="right">
                <h:outputText
                    rendered = "#{addWallpaperBulkConfigController.addWallpaperBulkConfigModel.contentTypeID != 20}"
                    value="Delimiters(Ordered):"/>&nbsp;
           </td>

        <td>
            <h:inputText id="delimiters"   
            rendered = "#{addWallpaperBulkConfigController.addWallpaperBulkConfigModel.contentTypeID != 20}"
            disabled="true"
                value="#{addWallpaperBulkConfigController.addWallpaperBulkConfigModel.myDelimiter}">
            </h:inputText>
               </td>
          </tr>

        有上面所示的一段JSP代码(用到了JSF),现在的问题是:
        1,两个rendered的判断逻辑是一模一样的,于是就想有没有什么方法来避免这个两判断逻辑的重复出现呢?用JavaScript行不行?
        2,当两个rendered不满足时,这个<tr>应该是不显示的,可看了生成的HTML代码时发现实际情况却是如下所示的样子:

        <tr>            
            <td valign="top" align="right">&nbsp;</td>
            <td> </td>
        </tr>

       这样的HTML虽说功能上没影响,但多了一空行,看着很不顺眼.
       有没有什么方法来改进呢?
================================================
rendered的判断,是在服务端解析EL表达式.所以你可以在BackBean中用简单的逻辑值替换复杂的表达式.
JSF是会生成一些看起来多余的标记,这是为了组件的通用性.

2011-12-20
/  标签: jsfrendered
   
评论
热度(1)