「已注销」
2015-12-16 03:22
采纳率: 29.5%
浏览 1.7k

freemarker无法输出java的字符串值

数据库字段是用blob存储的,用java的new String(字段名,"utf-8")的方式输出,在java端获取到的字符串值是没问题的,但是freemarker无法获得值。这个程序客户已经使用很长时间了,没出现过这个问题,第一次出现这种情况。不知道为什么java的string前端freemarker无法获得?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • gank_z 2015-12-16 05:27

    http://blog.csdn.net/zhibo112/article/details/50325521 试一下这种方式,你要通过IO 把blob的数据读出来在转成string

    打赏 评论
  • super_man_风清扬 2015-12-16 03:49

    Freemarker操作字符串

    1、substring(start,end)从一个字符串中截取子串
    start:截取子串开始的索引,start必须大于等于0,小于等于end
    end: 截取子串的长度,end必须大于等于0,小于等于字符串长度,如果省略该参数,默认为字符串长度。
    例子:
    ${‘str’?substring(0)}à结果为str
    ${‘str’?substring(1)}à结果为tr
    ${‘str’?substring(2)}à结果为r
    ${‘str’?substring(3)}à结果为
    ${‘str’?substring(0,0)}à结果为
    ${‘str’?substring(0,1)}à结果为s
    ${‘str’?substring(0,2)}à结果为st
    ${‘str’?substring(0,3)}à结果为str

    2、cap_first 将字符串中的第一个单词的首字母变为大写。
    ${‘str’?cap_first}à结果为Str
    3、uncap_first将字符串中的第一个单词的首字母变为小写。
    ${‘Str’?cap_first}à结果为str
    4、 capitalize将字符串中的所有单词的首字母变为大写
    ${‘str’? capitalize}à结果为STR

    5、 date,time,datetime将字符串转换为日期
    例如:
    <#assign date1=”2009-10-12”?date(“yyyy-MM-dd”)>
    <#assign date2=”9:28:20”?time(“HH:mm:ss”)>
    <#assign date3=” 2009-10-12 9:28:20”?time(“HH:mm:ss”)>
    ${date1}à结果为2009-10-12
    ${date2}à结果为9:28:20
    ${date3}à结果为2009-10-12 9:28:20
    注意:如果指定的字符串格式不正确将引发错误。

    1 打赏 评论

相关推荐 更多相似问题