2013-02-26 56 views
0

我有一塊文本存儲在mysql表格中作爲longtext,然後使用struts bean進行檢索:define for jsp。我想要檢索這個文本塊在jQuery UI對話框中使用,這意味着文本必須用「\ n」字符分析。目前文本出來像將文本從mysql傳遞到JSP頁面上的javascript

emailMSG[1] = "%fn %ln, 

Our records indicate that certification in %gn, %cn, %sn expire(d) on %dt. 

Please take the refresher course. 

Please visit our portal to log into your training. 

Please ignore any messages from CITI regarding course expiration. DO NOT log in directly to the CITI site."; 

我需要的數據是這種格式:

emailMSG[<%=id%>] = "%fn %ln,\n"+ 
"\n" + 
"Our records indicate that certification in %gn, %cn, %sn expire(d) on %dt.\n"+ 
"\n" + 
"Please take the refresher course at the training site.\n"+ 
"\n" + 
"Please visit our portal to log into the site.\n"+ 
"\n"+ 
"Please ignore any messages from CITI regarding course expiration. DO NOT log in directly to the CITI site."; 

我怎樣才能獲得「\ n」 +數據中的字符出來mysql表的?

這裏是我的代碼位引用該部分(我刪除了不相關的碎片):

<logic:iterate id="cel" name="CourseEmailList" scope="request"> 
    <bean:define id="msg" property="message" name="cel" scope="page" type="java.lang.String"/> 
    <bean:define id="id" property="id" name="cel" scope="page" type="java.lang.String"/> 
<tr> 
     <logic:notEmpty name="cel" property="message" scope="page"> 
      <td><a href="#" onclick="OpenDialog(<bean:write name='cel' property='id' scope="page"/>);return false;">View/Modify</a> 
      <script type="text/javascript"> 
       courseIDs[<%=id%>] = "<%= id%>"; 
       emailMSG[<%=id%>] = "<%= msg%>"; 
      </script> 
      </td> 
     </logic:notEmpty> 
     </tr> 
</logic:iterate> 

回答

0

我找到了解決辦法。可能有一個更簡單的方法來做到這一點,但這是我做的:

1)我寫了一個java函數,用%nl替換數據庫中數據的所有/ r/n。當我存儲用於jsp頁面的查詢結果時,我在結果集中的每行上調用它。

public static String formatMessage(String comment) { 
     if(comment != null){ 
      return comment.replaceAll("\r\n", "%nl"); 
     }else{ 
      return ""; 
     } 
    } 

2)然後,我的JSP頁面上我把豆:定義數據並將其保存到一個臨時變量,然後做了一個str.replace函數\ n globably更換全部%NL。

<script type="text/javascript"> 
     var temp = "<%= msg%>"; 
     var parsed = temp.replace(/%nl/g,'\n'); 
     emailMSG[<%=id%>] = parsed.valueOf(); 
</script> 

這使我的文本在jquery ui對話框文本區域中正確顯示。

相關問題