我添加到后台时是用一段一段的段落的,用上面的标签显示后却发现没分段落了,而用<s:textarea name="news.content" value="%{news.content}" rows="10" cols="100" ></s:textarea>就可以把段落显示出来,是什么原因啊,难道没有办法把段落显示出来吗,我用ssh2开发的,mysql数据库中的content字段是text类型的

解决方案 »

  1.   

    关于struts2标签取值的备忘录 取值要通过<s:property value="" />或在任意的<s:/>标签内使用%{}; 当Action的valueStack中有该属性的值时,只需直接使用该属性的名字即可; 当Action的valueStack中没有该属性的值时,比如在session,application范围中的属性值时,需要加#或者#attr.; 例子: 
    假设某Action中有person成员变量,在application中存在company属性 
    那么我们可以通过以下方法取值: 
    <s:property value="person.name" /> 
    <s:property value="#person.name" /> 
    <s:property value="company.name" /> //无法取到,因为company不在action的valueStack中 
    <s:property value="#company.name" /> <s:textfield name="person.name" value="person.name" /> //错误,value会直接显示person.name字样 
    <s:textfield name="person.name" value="%{person.name}" /> 
    <s:textfield name="person.company.name" value="%{#company.name}" /> 
    <s:textfield name="person.company.name" value="%{#attr.company.name}" /> 
      

  2.   

    <s:property value="%{news.content}" escape="false" />用以上如果不好用,那就得自定义标签了啊。有段落存放到数据库,内容中包含\r\n,具体我记不住了。自定义标签的时候将其替换成<br />。就能实现功能。我们项目中就是这么用的。