如何使用 Seam 2 StatusMessages 显示粗体消息?

发布于 2024-10-15 18:36:15 字数 840 浏览 2 评论 0原文

我有一个接缝组件,我在其中使用标准接缝注释放置一条消息:

@In
private StatusMessages statusMessages;

public void myMethod()
{
  statusMessages.add("Welcome, #{user.getName()}, after confirmation you will be able to log in.");
}

然后在 xthml 页面中显示此消息:

<h:messages id="mensagensHome" globalOnly="true" styleClass="message"
            errorClass="errormsg" infoClass="infomsg" warnClass="warnmsg"
            rendered="#{showGlobalMessages != 'false'}" />

这工作正常,但我有一个要求,其中名称应为粗体。比我已经尝试在我的消息中放置标准 html 标签,例如:

 statusMessages.add("Welcome, <b> #{user.getName()} </b>, after confirmation you will be able to log in.");

但它会在页面上显示标签并且不会将名称变为粗体。

我也尝试过使用 unicode 转义字符来渲染 html 标签,但同样没有成功。

是否可以使用代码中的标准 html 标签来格式化 Seam 中的消息?

提前发送。

I have a seam component where I put a message using standard seam annotation:

@In
private StatusMessages statusMessages;

public void myMethod()
{
  statusMessages.add("Welcome, #{user.getName()}, after confirmation you will be able to log in.");
}

and than in the xthml page to show this message:

<h:messages id="mensagensHome" globalOnly="true" styleClass="message"
            errorClass="errormsg" infoClass="infomsg" warnClass="warnmsg"
            rendered="#{showGlobalMessages != 'false'}" />

This is working perfectly, but I have a requirement where the name should be Bold. Than I have already tryed placing standard html tags in my message like:

 statusMessages.add("Welcome, <b> #{user.getName()} </b>, after confirmation you will be able to log in.");

But than it shows the tags on the page and does not turn the name bold.

I have also tried using unicode escape character to render the html tags, but again no success.

Is it possible to use standard html tags from code looking forward to format messages in Seam?

Tx in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱你不解释 2024-10-22 18:36:15

实际上你不能,不像 h:outputText h:messages 没有 escape 属性,你可以在其中执行 escape="false"。

在下面的链接中,您可以找到有关如何扩展 h:messages 的示例,实际上扩展的并不完全是 h:messages,但最终结果是相同的。所以你可以在 h:messages 中设置 escape="false" 并让浏览器解析 html 标签。

http://balusc.blogspot.com/2010/07 /using-html-in-jsf-messages.html

如果显示用户插入的内容,请务必小心,因为这很容易发生 html 注入。

注意:该链接不是我的,但它确实对我有用。

Actually you can't, unlike h:outputText h:messages don't have an escape property where you would be able to do escape="false".

In the link bellow you can find a sample on how to extend h:messages, actually it's not exactly h:messages that is extended but the end result is the same. So you can set escape="false" in h:messages and have the browser parse html tags.

http://balusc.blogspot.com/2010/07/using-html-in-jsf-messages.html

Be careful if you display something that the user inserted because this is is prone to html injection.

Note: The link is not mine, but it did work for me.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文