发表于: 2016-04-07 19:52:16

2 2385


【操作步骤】
1.学习创建JSP自定义标签
    1.1 创建一个处理标签的Java类,命名为TimeTag类。
    1.2 在WEB-INF目录下新建tld文件,在该tld文件中对标签处理器类进行描述。
    1.3 新建一个timeFormat.jsp来展示结果
    1.4 新建一个TimeFormatController控制器类来作为接口
2.时间转换标签设计完成,且能正常发挥作用。我在jsp页面插入标签<cjq:time format="yyyy年MM月dd日 HH时mm分ss秒" time="${time}"/>,就能在页面上显示出“2016年03月02日 00时00分00秒”,那个time数据是我从数据库中拿出来的。
3.把项目部署到云服务器上。
4.任务4完成。

【知识总结】
1.自定义标签tld文件中的<body-content></body-content>中可以写入的参数有四种:
  ① empty 即标记体为空
  ② scriptless 这个标记不能有脚本元素,但可以有模板文本和EL,还可以是定制和标准动作
  ③ tagdependent 标记体要看做是纯文本,所以不会计算EL,也不会出发标记/动作
  ④ JSP 能放在JSP中的东西都能放在这个标记体中

2.我想实现这样的功能,就是在后台Controller类中从数据库获得student的create_at数据,然后把这个数据传递到jsp页面,jsp页面用EL表达式来获取数据。我参考了<c:out>标签的tld文件,发现要在<attribute>标签里面加上<rtexprvalue>标签,并将其值设为true,才能支持EL表达式。具体的写法如下:
    <attribute>
        <name>time</name>
        <required>true</required>
        <type>java.lang.Long</type>
        <rtexprvalue>true</rtexprvalue>
        </attribute>
  当在<attribute>标签里指定<rtexprvalue>true</rtexprvalue>时, 表示该自定义标签的某属性的值可以直接指定或者通过动态计算指定。也就是说加上这个标签,这个属性就可以通过表达式计算得到了。

3.要记住,当试图在服务器上通过nginx代理jetty启动项目时,必须记住有三步:①修改nginx.conf,要把项目名称写进去。②启动nginx。③启动jetty。
【出现的问题(已解决)】



【出现的问题(未解决)】



【疑问】
1.我发现在服务器上,我不能在jetty/webapps下添加两个war文件,这样的话有一个会启动失败,例如我在jetty/webapps目录下添加上ITtask_2.war和ITtask_4.war这两个项目,那么jetty启动后,ITtask_2会正常启动,ITtask_4启动失败。这样的话,如果我想在服务器上部署两个项目,应该怎么办呢?安装两个jetty吗?


返回列表 返回列表
评论

    分享到