开发者

Preserve indents of inserted elements in Apache Tiles layout?

So I have a Tiles layout that has some attributes in it. It looks like so:

<body>
    <div id="header">
        <tiles:insertAttribute name="header" />
    </div>
    <div id="content">
        <tiles:insertAttribute name="content" />
    </div>
    <div id="footer">
        <tiles:insertAttribute name="footer" />
    </div>
</body>

My header element file looks like the following:

<h1>Header</h1>
<div id="nav">
    <ul>
        <li>Nav Item 1</li>
        <li>Nav Item 2</li>
    </ul>
    <hr />
</div>

What's annoying me is that the indentation of the header element isn't respected. The rendered output for the header looks like so:

<body>
    <div id="header"> 
        <h1>Header</h1> 
<div id="nav"> 
    <ul> 
        <li>Nav开发者_运维知识库 Item 1</li> 
        <li>Nav Item 2</li> 
        </ul> 
    <hr /> 
</div>
</div>
....

I'd like it to look like this:

<body>
    <div id="header"> 
        <h1>Header</h1> 
        <div id="nav"> 
            <ul> 
                <li>Nav Item 1</li> 
                <li>Nav Item 2</li> 
            </ul> 
            <hr /> 
        </div>
    </div>
    ....

Is there a way to configure Tiles or add some sort of filter to preserve the indentation in the final rendered output? Lastly, I'm currently trimming whitespace with:

<jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <trim-directive-whitespaces>true</trim-directive-whitespaces>
    </jsp-property-group>
</jsp-config>


I don't know a way to configure tiles to preserve indentation, but it's not hard to make a servlet filter that cleans up the response html before sending it to the browser. There may be many already available on-line - one I found by a quick search was a JTidy filter.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜