Skip to content

Commit

Permalink
#215: messages (facet intf+impl, JSP fragment and tag).
Browse files Browse the repository at this point in the history
  • Loading branch information
vankeisb committed Apr 13, 2014
1 parent 5fc704f commit 6d09277
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 1 deletion.
7 changes: 7 additions & 0 deletions core/src/main/java/woko/facets/builtin/RenderMessages.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,20 @@
package woko.facets.builtin;

import net.sourceforge.jfacets.IFacet;
import net.sourceforge.stripes.action.Message;
import woko.facets.FragmentFacet;

import java.util.List;

/**
* Fragment facet used to render Stripes messages.
*/
public interface RenderMessages extends IFacet, FragmentFacet {

static final String FACET_NAME = "renderMessages";

public List<Message> getMessages();

public boolean isEscapeXml();

}
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,9 @@ public String getPath() {
public List<Message> getMessages() {
return (List<Message>)getFacetContext().getTargetObject();
}

@Override
public boolean isEscapeXml() {
return true;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
<jsp:include page="<%=fragmentPath%>"/>
<%
} else {
// default to stripes messages handling
// default to stripes messages handling if no facet found
%>
<s:messages key="<%=key%>"/>
<%
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<%@ page import="woko.facets.builtin.RenderMessages" %>
<%@ page import="net.sourceforge.stripes.action.Message" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.Locale" %>
<%--
~ Copyright 2001-2012 Remi Vankeisbelck
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@include file="/WEB-INF/woko/jsp/taglibs.jsp"%>
<%
RenderMessages renderMessages = (RenderMessages)request.getAttribute(RenderMessages.FACET_NAME);
List<Message> messages = renderMessages.getMessages();
if (messages!=null && messages.size()>0) {
Locale locale = request.getLocale();
%>
<ul class="wokoMessages">
<%
for (Message m : messages) {
String msgStr = m.getMessage(locale);
%>
<li><c:out value="<%=msgStr%>" escapeXml="<%=renderMessages.isEscapeXml()%>"/></li>
<%
}
%>
</ul>
<%
}
%>

0 comments on commit 6d09277

Please sign in to comment.