beetl 压缩html 去除html空格

发布于 2021-11-15 11:49:56 字数 1343 浏览 839 评论 6

@闲.大赋 你好,想跟你请教个问题:


3.12. 空格处理 beetl 无需担心额外空行!


这个天然的东西很爽啊。

<ul>
	<%for(o in list) {%>
		<li>${o.id}</li>
		<li>  ${o.name} </li>
		<li>${o.code}</li>
	<%}%>
</ul>
得出的html

<ul>
		<li>1</li>
		<li>  北京 </li>
		<li>11</li>
		<li>2</li>
		<li>  天津 </li>
		<li>12</li>
</ul>


将来能不能加上一个很酷的处理,就是在外面加个标记能把html里面的空格去掉呢。

<!-- 去除html空格, 包括标签里面内容的前后空格 -->
<%trim
<ul>
	<%for(o in list) {%>
		<li>${o.id}</li>
		<li>  ${o.name} </li>
		<li>${o.code}</li>
	<%}%>
</ul>
%>
得出的html

<ul><li>1</li><li>北京</li><li>11</li><li>2</li><li>天津</li><li>12</li></ul>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

野心澎湃 2021-11-21 08:44:12

提供一个简单处理

import org.bee.tl.core.ByteSupportTag;

public class TrimTag extends ByteSupportTag{
	
	private String trimLine(String html) {
		StringBuilder sb = new StringBuilder(html.length());
		for(String s : html.split("n")) 
			sb.append(s.trim());
		
		return sb.toString();
	}
	
	@Override
	public String getOutput() {
		return this.trimLine(this.input);
	}

	@Override
	public byte[] getOutputAsByte() {
		String html = new String(this.inputBytes);
		return this.trimLine(html).getBytes();
	}
}

傾城如夢未必闌珊 2021-11-21 08:38:23

谢谢 @闲.大赋

OK 成功了。

以下是我的配置 jfinal + beetl

在extends JFinalConfig 中代码如下:

public void configConstant(Constants me) {
		loadPropertyFile("a_little_config.txt");			// 加载少量必要配置,随后可用getProperty(...)获取值
		me.setDevMode(true);
		me.setMainRenderFactory(new BeetlRenderFactory());
		
		// 配置自定义标签
		GroupTemplate group = BeetlRenderFactory.groupTemplate;
		group.registerTag("trimTag", TrimTag.class);
	}

皇甫轩 2021-11-21 08:31:23

补充一下,因为你没有成功注册trimTag,所以它认为是个function,就报了缺少;这个错误

路还长,别太狂 2021-11-20 07:54:35

groupTemplate.registerTag("trimTag", TrimTag.class);

ScriptGlobal 是内部用的,你用的不对

草莓味的萝莉 2021-11-19 06:32:19

完全没必要

等你爱我 2021-11-18 07:04:00

是为了压缩用么?可以自己写一个标签函数来完成,或者在后面几次发布中我把这个功能加上去

标签函数大概是这个样子:

<%
trim(nospace,noline){
%>
your template

<%}%>

至于如何完成标签函数,你可以看看手册,或者cacheTag的源代码

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文