我想从Stripes框架的标签中检索带有特定键的消息。
在动作bean中,我有这个:
switch (result) {
case REG_ALREADY_REGISTERED:
getContext().getMessages().add(new LocalizableMessage("consumer.already.registered"));
redirect = getContext().getSourcePageResolution();
break;
在JSP页面中:
<stripes:messages key="consumer.already.registered"/>
但以上代码似乎无效。如果仅输入“
<stripes:messages/>
”,则显示条纹的默认打印方式。即带有“ ul li ”的东西。我想对这些消息进行介绍。 JSP有什么可能,如下所示:<c:if test="${not empty actionBean.context.messages}">
<c:out value="${actionBean.context.messages......"/> //This is the place where I am unsure
</c:if>
最佳答案
提出了一个功能请求,其中包含用于显示消息的其他标签:http://www.stripesframework.org/jira/browse/STS-245。
如果您不喜欢默认消息的页眉和页脚,则只需按照文档http://stripes.sourceforge.net/docs/current/taglib/stripes/messages.html中所述的属性进行更改。但是,这将更改所有页面的页眉和页脚。如果您想为一个特定页面更改它们,那么AFAIK就是这样,别无选择:
<c:if test="${not empty actionBean.context.messages}">
<c:forEach var="message" items=${"actionBean.context.messages}">
${myFn:getMessageText(message, getPageContext.request.locale)}
</c:forEach>
</c:if>
其中
myFn:getMessageText
是如下定义的函数:public static String getMessageText(Message message, Locale locale) {
return message.getMessage(locale);
}
关于java - 如何从Stripes Framework的<stripes:messages>中检索具有特定键的消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6556712/