【问题标题】:Is it possible to use the output of a tag library to set the value of a HTML element in JSP?是否可以使用标签库的输出来设置 JSP 中 HTML 元素的值?
【发布时间】:2012-03-16 22:51:14
【问题描述】:

在使用 struts 1 项目时,我试图通过使用 JSTL 标记的输出值来设置 JSP 页面上某些输入框的禁用属性来节省自己的编码时间。不幸的是,以下不起作用:

<html:text property="name" size="15" maxlength="50" disabled="${not empty empRights}"/>

或

<html:text property="name" size="15" maxlength="50" disabled='<c:out value = "${not empty empRights}" />' />`

其中 empRights 只能有 true 或 false 值。有没有办法做到这一点? 谢谢

【问题讨论】:

    标签: jsp jstl jsp-tags struts-1


    【解决方案1】:

    有很多方法可以实现它。 (其中不包括自定义标签的任意嵌套,这是不合法的。)

    如果empRights 只能是true 或false,检查它是否为空似乎很奇怪。最简单的方法是根据它设置一个值,但您需要它是"disabled" 或""(空),而不是"true"/"false"。最简单的是使用三元(假设 JSP 2.0+ 容器):

    ${empRights ? 'disabled' : ''}
    

    (或相反;不确定您想通过empty 实现什么。)

    或者,设置另一个变量并使用它。

    【讨论】:

    • 我对 jsp 的了解充其量还可以,我已经质疑 jsp 编码器试图用空实现什么,但由于他的知识取代了我的知识,我相信了他的话。
    • 你知道html标签库和html-el标签库的区别吗?尽管尝试了您的建议,但它不起作用,就像最后一次喘息一样,我将标签更改为 html-el 并且它起作用了
    • @DarkStar1 是的,EL 库允许使用 JSP EL 表达式。这意味着你的容器要么配置错误,要么不支持 EL。
    猜你喜欢
    • 1970-01-01
    • 2015-07-02
    • 2017-09-03
    • 1970-01-01
    • 2020-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多