问题描述:比如数据库中的一条字段为<p><span style="text-decoration: none;"><strong>你好</strong></span></p>,jsp中用<s:property><s:property value = "content"/>取出后全部显示,我想知道如何只显示 你好 并把那些效果显示出来???
方法一:
其实很简单的问题,但是用了很长时间,最后问了一个同学:<s:property value = "post.content" escape="false"/> 用其中的escape属性设置为“false” 其默认值为true
它会对特殊字符进行转译改成false就不转译了。
属性 | 是否必须 | 默认值 | 类型 | 描述 |
value | 否 | 栈最顶端 | Object | 被显示的值 |
default | 否 | 空(null) | String | 值为空时使用的默认值 |
escape | 否 | True | Boolean | 是否转译成HTML |
方法二:
${post.content} 直接取也可以。
补充:这从mySQL中取时间有问题,数据库中的时间是正确的,但是用<property>取出后时间多出了 .000不知道这么出现的,只好用
<s:date name="sendTime" format="yyyy-MM-dd HH:mm:ss" />获取,改格式直接到秒可以根据你的需要更改格式。
但要注意两个细微的地方,很多人都倒在这上面: 1、"yyyy-MM-dd”中的“MM”一定要大写,不然会不起作用或者时间显示不正常 因为在java中,大M表示“月(Month)",而小m表示"分"(minute) 2、注意的是后面的"HH"表示24小时制,而如果是"hh",则显示时为12小时制
还有一点:s:date标签使用时,一定要是Date类型。 如果是String型,数值型等其他类型,可以用以下方法: 先在resource文件中定义如下: format.date_medium={0,date,medium} format.date_ymd={0,date,yyyy/MM/dd} format.date_time={0,date,yyyy/MM/dd hh:mm} 然后就可以自由的format了: <s:text name="format.date_ymd"> <s:param name="value" value="replyTime"/> </s:text>