【问题标题】:Set button title to bean message in a JSP在 JSP 中将按钮标题设置为 bean 消息
【发布时间】:2014-06-08 12:23:48
【问题描述】:

我有一个 JSP 问题要问你,我一直在谷歌搜索... 我正在使用标题标签在悬停时显示长句。但是,我想将句子放在 bean 消息中,因此将 title 属性设置为等于 bean 消息,例如: 将 struts-resources 中的消息定义为...。 My.hover_description = “等等等等等等等等”

JSP 代码:

<TD>
<html:button title= "<bean:message key=" My.hover_description "/> "
</html:button>
</TD>

我也尝试过,但我认为它只是将我的引用作为文字而不是代码:

<TD>
<html:button title= '<bean:message key=" My.hover_description "/>'
</html:button>
</TD>

所以我想知道是否必须在标题定义的开头和结尾处转义这样的引号 /" /" 还是有其他方法可以转义字符?

【问题讨论】:

    标签: java javascript html jsp struts


    【解决方案1】:
    TD>
    <input type="button" title='<bean:messagekey="My.hover_description"/>'
    class="myClass" value='My Button'>
    </TD>
    

    这是最简单的方法...

    【讨论】:

    • 这不起作用。标题的内容被解释为字符串文字
    【解决方案2】:

    您不能使用 JSP 标记来声明另一个 JSP 标记上的属性值,因为它不会首先执行属性声明中的标记。您可以使用 JSP 标记在标准 HTML 标记上声明属性的值,因为 JSP 标记由服务器执行,但 HTML 直到到达浏览器才被解释(即执行顺序没有冲突)。

    您需要先将文本存储到一个变量中,然后使用它,如下所示:

    <c:set var="buttonTitle"><bean:message key="My.hover_description"/></c:set>
    <html:button title="${buttonTitle}"...>...</html:button>
    

    【讨论】:

    • 好的,我明白你在说什么,这是有道理的。我的 JSP 只是在抱怨 标记说它是未知标记,这导致了我在上面的单引号中遇到的相同问题。你只是用那个
    • @user2218297 它是JSTL core 标签库的一部分。似乎您的项目中没有可用的,或者,如果有,它在您的 JSP 中不可用,因为您没有 taglib 指令使其可用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-04
    • 2014-04-05
    • 2017-05-25
    • 2013-06-24
    • 2011-12-19
    • 1970-01-01
    相关资源
    最近更新 更多