2016-12-12 14:54
多谢你的思路解决了
这里也分享一下吧
public class TagSample extends Tag {
@Override
public void render(){
String tagName = (String) this.args[0];
Map attrs = (Map) args[1];
String value = (String) attrs.get("attr");
try{
this.ctx.byteWriter.writeString(RelativeDateFormat.getdatetime(value));
}catch (IOException e){
}
}
然后注册一下就行了
gt.registerTag("RaltimeTag", TagSample.class);
模板使用
<#RaltimeTag attr="${item.ctime}">
2016-11-28 20:52
解决了,发现问题了不删了别回头有人遇到同样的问题
一、分析action请求路径
1、首先会在web.xml中配置过滤器拦截action请求路径部分截断------/path1;
2、然后在继承JFinalConfig类的configRoute方法里调用add方法的第一个参数设置action请求对应的controller------path2;
3、最后还有controller里的无参、public方法名的定位------methodName。
最后action的访问路径就是以上三个部分拼装起来(tomcat服务器):http://ip:端口号/项目名称/path1/path2/methodName。(这是基本的action访问路径组合)
注:还可以通过注解ActionKey的方式注释设置action的访问路径
二、视图解析路径
1、web项目的默认解析路径是从WEB-Root(MyEclipse的web项目)开始的;
2、首先在JFinalConfig的configConstant方法里调用setBaseViewPath设置视图解析的部分路径----/path1;
3、在JFinalConfig的configRoute里配置Controller时调用的add方法第三个参数也是视图解析路径的一部分-----/path2(如果调用的是add两个参数方法,则默认的配置为controllerKey,即第一个参数)
4、最后在Controller的render方法里配置视图的最后部分./path3/test.html(如:/index.html)
视图解析路径为:
1、如果render中的参数是以/开头,则视图解析路径为/path3/test.html;
2、如果redner中的参数不是以/开头(path3/test.html),则视图解析路径为/path1/path2/path3/test.html。
视图解析会在WEB-Root目录下查找相应的文件,路径不正确是找不到的。