Guillaume Carré wrote:
> 
> 2007/3/14, mraible <[EMAIL PROTECTED]>:
>>
>> I have a messages.jsp[1] that's included (using <%@ include
>> file="/common/messages.jsp" %>) in my default decorator. This file has a
>> couple of calls to the valueStack - namely hasActionErrors() and
>> hasFieldErrors().  This worked fine in WebWork 2.1.x and Struts 2.0.1 -
>> even
>> when pages where rendered that didn't go through Struts.  However,
>> starting
>> with the 2.0.6 release, the <s:if> tag throws a NPE because the
>> ValueStack
>> isn't in the request.  I believe it's a bug, but wanted to check with
>> this
>> list first to confirm.
>>
>> Thanks,
>>
>> Matt
>>
>> [1] messages.jsp:
>>
>> <% if (request.getAttribute("struts.valueStack") != null) { %>
>> <s:if test="hasActionErrors()">
>>     <div class="error" id="errorMessages">
>>       <s:iterator value="actionErrors">
>>          <c:url value= "
>>             alt="<fmt:message key="icon.warning"/>" class="icon" />
>>         <s:property escape="false"/><br />
>>       </s:iterator>
>>    </div>
>> </s:if>
>>
>> <s:if test="hasFieldErrors()">
>>     <div class="error" id="errorMessages">
>>       <s:iterator value="fieldErrors">
>>           <s:iterator value="value">
>>              <c:url value= "
>>                 alt="<fmt:message key="icon.warning"/>" class="icon" />
>>              <s:property escape="false"/><br />
>>           </s:iterator>
>>       </s:iterator>
>>    </div>
>> </s:if>
>> <% } %>
>>
>> <%-- Success Messages --%>
>> <c:if test="${not empty messages}">
>>     <div class="message" id="successMessages">
>>         <c:forEach var="msg" items="${messages}">
>>              <c:url value= "
>>                 alt="<fmt:message key="icon.information"/>" class="icon"
>> />
>>             <c:out value="${msg}" escapeXml="false"/><br />
>>         </c:forEach>
>>     </div>
>>     <c:remove var="messages" scope="session"/>
>> </c:if>
> 
> You have to add the ActionContextCleanUp filter to your web
> application if you wan't to be able to access the value stack from a
> sitemesh decorator:
> http://struts.apache.org/2.x/struts2-core/apidocs/org/apache/struts2/dispatcher/ActionContextCleanUp.html
> 
> On the same subject, I have opened an issue in JIRA. Without this
> filter, I can't access the value stack from JSTL on any JSP page (not
> a sitemesh decorator page):
> https://issues.apache.org/struts/browse/WW-1798
> Do you confirm this?
> -- 
> Guillaume Carré
> 

That's the problem, I *do* have the ActionContextCleanUp filter in my
web.xml:

    <filter-mapping>
        <filter-name>struts-cleanup</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>
    <filter-mapping>
        <filter-name>themeFilter</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>
    <filter-mapping>
        <filter-name>sitemesh</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>staticFilter</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>
    <filter-mapping>
        <filter-name>struts</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

Matt
-- 
View this message in context: 
http://www.nabble.com/Global-messages.jsp-file-included-in-a-SiteMesh-decorator-tf3400265.html#a9477319
Sent from the Struts - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to