小编Kee*_*oer的帖子

使用p元素而不是span来渲染JSF h:message

我想创建一个自定义消息渲染器,将h:message呈现为'p'html元素而不是'span'元素.它涉及以下消息标记:

<h:message id="firstNameErrorMsg" for="firstname" class="error-msg"  />
Run Code Online (Sandbox Code Playgroud)

我写了下面的代码,但那只是呈现一个空的'p'元素.我想我必须从原始组件中复制所有属性和文本并将其写入编写器.但是,我不知道在哪里可以找到所有内容,而且仅仅更换标签似乎需要做很多工作.

有没有更好的方法来将h:message标记呈现为'p'元素?

码:

@FacesRenderer(componentFamily = "javax.faces.Message", rendererType = "javax.faces.Message")
public class FoutmeldingRenderer extends Renderer {

    @Override
    public void encodeEnd(final FacesContext context, final UIComponent component) throws IOException {

        ResponseWriter writer = context.getResponseWriter();
        writer.startElement("p", component);
        writer.endElement("p");

    }
}
Run Code Online (Sandbox Code Playgroud)

jsf message renderer

4
推荐指数
1
解决办法
4910
查看次数

标签 统计

jsf ×1

message ×1

renderer ×1