您的位置:首页 > 其它

perl mojo安装时curl提示没有证书的解决方法

2013-11-28 17:18 281 查看
首先,先创建一个ftl文件:
<div style="width:100%;font-size:12px;">Hello ${name}(${getUserAge(name)})</div>

之后,创建一个java应用程序类:
package freemarker;

import java.io.File;
import java.io.IOException;
import java.io.StringWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;

import freemarker.template.Configuration;
import freemarker.template.DefaultObjectWrapper;
import freemarker.template.Template;
import freemarker.template.TemplateException;

/**
*
* @Desc 获取FTL文件生成的字符串,以供调用
* @author xujp1
* @version Revision: 1.00 Date: May 9, 2012
*/
public class GenerateStringFromFtl
{

private static Configuration conf = null;

public static void main(String args[])
{
conf = new Configuration();
try
{
conf.setDirectoryForTemplateLoading(new File("WebRoot/WEB-INF/template"));
}
catch (IOException e)
{
e.printStackTrace();
}
conf.setObjectWrapper(new DefaultObjectWrapper());
conf.setLocale(Locale.CHINA);
conf.setSharedVariable("getUserAge", new GetUserAge());//自定义方法供调用
conf.setDefaultEncoding("utf-8");
conf.setClassicCompatible(true);//处理空值为空字符串
String tempReturn = "";
Map<String, Object> root = new HashMap<String, Object>();
String name = "xujp1";
root.put("name", name);
try
{
tempReturn = generateHtmlFromFtl(root, "hellouser.ftl");
}
catch (IOException e)
{
e.printStackTrace();
}
catch (TemplateException e)
{
e.printStackTrace();
}
System.out.println(tempReturn);
}

public static String generateHtmlFromFtl(Object root, String tempPath) throws IOException, TemplateException
{
Template temp = conf.getTemplate(tempPath);
Writer out = new StringWriter(2048);
temp.process(root, out);
return out.toString();
}
}

由于有用到自定义方法,因此在建个方法类:
package freemarker;

import java.util.List;

import freemarker.template.SimpleScalar;
import freemarker.template.TemplateMethodModel;
import freemarker.template.TemplateModelException;

/**
*
* @Desc freemarker中使用的方法,根据传入的参数返回相应的值
* @author xujp1
* @version Revision: 1.00 Date: May 9, 2012
*/
public class GetUserAge implements TemplateMethodModel
{

/* (non-Javadoc)
* @see freemarker.template.TemplateMethodModel#exec(java.util.List)
*/
@SuppressWarnings("unchecked")
@Override
public Object exec(List args) throws TemplateModelException
{
if(args.size() != 1)
{
throw new TemplateModelException("Wrong arguments!");
}
int age = 0;
if("xujp1".equalsIgnoreCase((String)args.get(0)))
age = 25;
else
age = 24;
return new SimpleScalar(String.valueOf(age));
}
}

运行后,得到所要的结果
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐