导航:首页 > 编程语言 > freemarkerjava方法调用

freemarkerjava方法调用

发布时间:2022-03-05 10:45:41

① 我在java的freemarker文件里有写个excel按钮,在action里面调用方法没实现

在excel方法第一行打断点,进入到断点中了吗?
如没有,检查jsp上提交的那段method.在browser的状态栏或debug 脚本可以查看是否进入到action.
如解决不了且不涉及隐私,可以发给我,大家互相找找原因.

② FreeMarker里如何像jsp一样用<% %>调用java代码,如果不能,有什么方法可以实现

freemarker中通过使用宏,自定义函数或指令在Java类里编写逻辑。你可以找一份freemarker的教程学习一下

③ freemarker 在java常用吗

基本上,FREEMAKER可以替代JSP了
freemarker现在用途很多
1、CMS系统的模板
2、生成其他文本类型的模板(比如代码生成器等)
3、替代JSP
freemarker相对JSP的优势在于,越是复杂的页面,freemarker的效率相比JSP就越高。
同时freemarker的宏在编写控件的时候也比jsp的 taglib更加快捷方便
同时freemarker还提供了较为丰富的扩展接口,在function和macro无法满足需求的情况下,还可以根据接口实现自己的freemarker扩展

④ 如何在freemarker中调用java的方法

解决方案 »

freeer可以声明变量,可以写一些函数,可以调用自己的函数
可~~要实例化java类并且调用它的方法~~~没遇到过....
帮忙顶!期待高手

急啊,我也想在ftl中调用一个类的静态方法...

可以,可以将你写的类当成对象假如到MAP中
然后在再用map?key的方法获得该类
JAVA代码
maplist.put("typeTool",this);
FREEMARKER
<#assign name=typeTool.getTypeName(key)>${name}

方法1:
##定义配置文件 freeerstatic.properties
_Validator=com.longyou.util.Validator
_Functions=com.longyou.util.Functions
_EscapeUtils=com.longyou.util.EscapeUtils
/调用代码
${_Functions.toUpperCase("Hello")}<br>
${_EscapeUtils.escape("狼的原野")}方法2:
${stack.findValue("@package.ClassName@method")}${stack.findValue("@package.ClassName@property")}因为 stack 是webwork结合 freeer 后在 ftl 中可以用的,其他的还有 ${base}等等

⑤ 请教FreeMarker在java web开发中使用方法

在 Web应用中使用FreeMarker
在Web应用中使用FreeMarker跟在Java程序中使用并没有太大的区别. 下面是是一个在Web中使用的例子,用来生成HTML页面的模板文件内容如下:
<html>
<head>
<title>FreeMarker 的HelloWorld</title>
</head>
<body>
${message}
</body>
</html>
我们在Web应用中使用FreeMarker时,应该让Servlet来合并模板和数据,因此,Servlet负责创建Configuration实例,并负责合并模板和数据,下面是Servlet源代码:
package lee;
import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import freemarker.template.*;
public class HelloServlet extends HttpServlet
{
private Configuration cfg;
public void init()
{
//初始化FreeMarker配置
//创建一个Configuration实例
cfg = new Configuration();
//设置 FreeMarker的模版文件位置
cfg.(getServletContext(), "WEB-INF/templates");
}

public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
//建立数据模型
Map root = new HashMap();
root.put("message", "Hello FreeMarker!");
//取得模版文件
Template t = cfg.getTemplate("test.ftl");
// 开始准备生成输出
// - 使用模版文件的charset作为本页面的charset
// - 使用text/html MIME-type
response.setContentType("text/html; charset=" + t.getEncoding());
Writer out = response.getWriter();

//合并数据模型和模版,并将结果输出到out中
try
{
t.process(root, out);
}
catch (TemplateException e)
{
throw new ServletException("处理Template模版中出现错误", e);
}
}
}
可以看到这个Servlet类的代码与普通的Java程序中使用FreeMarker大致一样,区别有两个:1,设置FreeMarker加载模板的方法不一样,在Servlet中设置加载的方法是,第一个参数是本web应用的 ServletContext,第二个参数是模板文件的路径.;2,结果必须输出到HttpServletResponse中,才能被浏览器加载.
配置Servlet的web.xml文件中的代码如下:
<web-app>
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>lee.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>

⑥ 请问一下,如何在Freemarker中实现类似java中的continue功能,即终止当前循环,执行下一次循环!

你可以用<#if 条件满足>代码<#else>此处不用写代码直接为空就跳过这次循环</#if>

⑦ freeMarker怎样调用java函数

太阳从黑色的凝块间落下。
当慢慢地,在那完全的静寂中,
连蜥蜴的瑟瑟声都没有,
砾石开始在货哈哈车轮下发出嘎吱嘎吱的声音.
突然我们看见,竖立在山上
一件粉红的紧身胸衣,飘荡着丝带。

⑧ 如何使用Freemarker生成java代码

Freemarker是一个模板框架。我们可以通过Freemarker进行代码生成或页面的静态生成。 现在简单的说一下怎样使用Freemarker Freemarker的主要生成类
public boolean generate(String templateFileName, Map data,

String fileName) {

try {

//取得模板的位置

String templateFileDir=templateFileName.substring(0, templateFileName.lastIndexOf("/"));

//取得模板的名字

String templateFile=templateFileName.substring(templateFileName.lastIndexOf("/"), templateFileName.length());

//取得生成文件的路径

String genFileDir=fileName.substring(0, fileName.lastIndexOf("/"));

Template template = ConfigurationHelper.getConfiguration(templateFileDir).getTemplate(templateFile);

File fileDir=new File(genFileDir);

org.apache.commons.io.FileUtils.forceMkdir(fileDir);

File output = new File(fileName);

if(output.exists()){

//如何代码已存在不重复生成

return false;

}

Writer writer = new FileWriter(output);

template.process(data, writer);

writer.close();

} catch (TemplateException e) {

e.printStackTrace();

return false;

} catch (IOException e) {

e.printStackTrace();

return false;

}

return true;

}

代码中的Map 是模板所需要的数据,我们可以通过面向对像的方法把数据存在模板中public boolean genDaoInterface(String fileName){

DaoModel Model=new DaoModel();

//设置Dao实现类的包名

Model.setPackageName(DaoConstant.PACKAGE);

//取得接口名

String className=StringUtils.substringBefore(fileName,".");

//设置接口名

Model.setClassName(className);

Map<String, Object> data = new HashMap<String, Object>();

data.put("model", Model);

//设置生成的位置

String filePath=new String("src/"+package2path(DaoConstant.PACKAGE)+"/"+fileName);

//代码生成

return super.generate(DaoConstant.INTERFACE_TEMPLATE, data, filePath);

}

data.put("model", Model);由这句代码可看出我们将可以在模板中直接调用这些数据package ${model.packageName};

public interface ${model.className} extends BaseHibernateDao {

}

⑨ FreeMarker里如何调用java代码

不能使用java代码,只能使用el表达式,来输出展示数据..

freemarker 的原则或初衷:
数据+模板=输出

模板就是 freemarker了,这样程序员就不能把大量java代码写入, 美工和程序员 工作就可以独立了

⑩ freemarker中有类似java中split的方法吗

<#list"aaa,bbb,ccc,ddd"?split(",")asstr>${str}</#list>

阅读全文

与freemarkerjava方法调用相关的资料

热点内容
优信二手车解压后过户 浏览:63
Windows常用c编译器 浏览:780
关于改善国家网络安全的行政命令 浏览:835
安卓如何下载网易荒野pc服 浏览:656
javainetaddress 浏览:106
苹果4s固件下载完了怎么解压 浏览:1005
命令zpa 浏览:288
python编译器小程序 浏览:946
在app上看视频怎么光线调暗 浏览:541
可以中文解压的解压软件 浏览:594
安卓卸载组件应用怎么安装 浏览:914
使用面向对象编程的方式 浏览:341
程序员项目经理的年终总结范文 浏览:932
内衣的加密设计用来干嘛的 浏览:434
淮安数据加密 浏览:294
魔高一丈指标源码 浏览:983
松下php研究所 浏览:169
c回调java 浏览:402
梦幻端游长安地图互通源码 浏览:747
电脑本地文件如何上传服务器 浏览:315