freemarker输出html页面问题

断章csdn 2016-08-10 09:24:57
问题描述:
1.项目下有一个hello.jsp
内容
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
${user}
</body>
</html>
2.有一个java类已经能在控制台输出数据填充完毕的页面数据
Template temp = cfg.getTemplate("hello.jsp");
/* 创建数据模型 */
Map<String, Object> root = new HashMap<String, Object>();
root.put("user", "Big Joe");
/* 将模板和数据模型合并 */
Writer out = new OutputStreamWriter(System.out);
temp.process(root, out);
out.flush();

请问我如何在浏览器中调用 展示页面。
...全文
730 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
howsun_zh 2016-08-11
  • 打赏
  • 举报
回复
引用 2 楼 qq_22860303 的回复:
[quote=引用 1 楼 zhangjihao 的回复:]
Writer out = new OutputStreamWriter(System.out);
构造参数换成response.getWriter()试试。
我的test.class 运行方式是run as java application 能在控制台输出页面内容 我们访问是要在浏览器啊 路径怎么写localhost:8080/projectName/??? [/quote] 浏览器访问就是BS结构啊,你得做个Web服务端。写个Servlet,在doGet方法里调用上面的代码。
断章csdn 2016-08-10
  • 打赏
  • 举报
回复
引用 1 楼 zhangjihao 的回复:
Writer out = new OutputStreamWriter(System.out);
构造参数换成response.getWriter()试试。
我的test.class 运行方式是run as java application 能在控制台输出页面内容 我们访问是要在浏览器啊 路径怎么写localhost:8080/projectName/???
howsun_zh 2016-08-10
  • 打赏
  • 举报
回复
Writer out = new OutputStreamWriter(System.out);
构造参数换成response.getWriter()试试。
一篇freemarker很不错的文章 reeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:<#-- ... -->格式部分,不会输出 3,插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出 4,FTL指令:FreeMarker指定,和HTML标记类似,名字前加#予以区分,不会输出 下面是一个FreeMarker模板的例子,包含了以上所说的4个部分 <html>

Welcome!


<#-- 注释部分 -->
<#-- 下面使用插值 -->

Welcome ${user} !


We have these animals:

<#-- 使用FTL指令 --> <#list animals as being>

  • ${being.name} for ${being.price} Euros
    <#list>


    html> 1, FTL指令规则 在FreeMarker中,使用FTL标签来使用指令,FreeMarker有3种FTL标签,这和HTML标签是完全类似的. 1,开始标签:<#directivename parameter> 2,结束标签: 3,空标签:<#directivename parameter/> 实际上,使用标签时前面的符号#也可能变成@,如果该指令是一个用户指令而不是系统内建指令时,应将#符号改成@符号. 使用FTL标签时, 应该有正确的嵌套,而不是交叉使用,这和XML标签的用法完全一样.如果全用不存在的指令,FreeMarker不会使用模板输出,而是产生一个错误消息.FreeMarker会忽略FTL标签中的空白字符.值得注意的是< , /> 和指令之间不允许有空白字符. 2, 插值规则 FreeMarker的插值有如下两种类型:1,通用插值${expr};2,数字格式化插值:#{expr}或#{expr;format}
  • 81,092

    社区成员

    发帖
    与我相关
    我的任务
    社区描述
    Java Web 开发
    社区管理员
    • Web 开发社区
    加入社区
    • 近7日
    • 近30日
    • 至今
    社区公告
    暂无公告

    试试用AI创作助手写篇文章吧