zoukankan      html  css  js  c++  java
  • textarea 带换行符保存数据与带换行符展示数据

    毕业设计进行ing~

    最近要想要实现一个站内邮箱,想要带换行地输出邮件主体内容

    这两天为了解决这个问题百度了好多东西,发现相关问题有很多记录,可能这确实是大多数初学者也碰到的问题。自己找了好多地方都没找到明确的解决方法。

    其实解决了实在是很简单,但我真的几经周折才实现了自己想要的功能。

    在这里希望自己可以尽可能详细地说明自己解决的过程,但愿能给所有寻找解决方法的朋友一个好的参考。


    首先简单说一下问题和解决思路

    问题1希望读进去的数据能保存为带换行的格式;

    解决思路:在输入textarea表单的jsp页面写一个js前端代码,使其对传输到后端的文本中的回车转换为<br>

    核心代码如下:

    1 function fun() {
    2         var a=document.getElementById("e_main");//获取textarea表单的数据,其中“e_main"为textarea的id属性值
    3         var b=a.value;
    4         a.value=b.replace(/
    /g,"<br/>");//回车转换为<br>
    5         }

    问题2希望读出来的数据能保存为带换行的格式。

    解决思路:此时存进数据库中的元素已经是带换行的,只要读出来的时候将" "替换成<br>即可

    核心代码:

    1 e_main=e_main.replace("
    ","<br>");

    实现实例:

    首先是编写邮件页面的jsp代码

    核心代码:

     1 /*获取textarea表单元素并且转换值的js代码*/ 
     2 <script type="text/javascript">
     3     function fun() {
     4         var a=document.getElementById("e_main");//获取textarea表单的数据,其中“e_main"为textarea的id属性值
     5         var b=a.value;
     6         a.value=b.replace(/
    /g,"<br/>");//回车转换为<br>
     7         }
     8 </script>
     9 
    10 /*form内代码*/
    11 <form action="writeEmail.do" method="post" >
    12                             <div class="panel-body">
    13                                 <div class="form-group has-success">
    14                                     <div class="col-lg-10">
    15                                 
    16                                         <label class="control-label" for="inputSuccess">收信ID<span id="div2" style="color:#d47878"></span> </label>
    17                                         <input type="text" class="form-control" id="i_id_to"
    18                                             name="i_id_to" placeholder="请在这里输入收信者的ID号" oninput="test2()"> 
    19                                         <label class="control-label" for="inputSuccess">邮件主题<span id="div2" style="color:#d47878"></span> </label>
    20                                         <input type="text" class="form-control" id="e_name"
    21                                             name="e_name" placeholder="请在这里输入邮件的主题" > 
    22                                             
    23                                         <i class="fa fa-gift" style="color:#b8ef33"></i> <font style="color:#9da4b1">添加附件 </font><input type="file" name="添加附件" siez="16">
    24                             
    25                                           <br>
    26                                     <input name="i_id_from" id="i_id_from" type="hidden" value="<%=Userid%>" />
    27                                             
    28                                             
    29                                             <font class="control-label" for="inputSuccess">邮件正文 
    30                                             </font>
    31                                             <font style="margin-left:350px;" ><i class="fa fa-picture-o" style="color:#0bb18b9c"></i>  插入图片 </font>
    32                                             
    33                                             <textarea cols="10" rows="15" class="form-control" name="e_main" id="e_main" > </textarea>
    34 
    35                                         <h5 align="center">
    36                                             <input type="submit" class="btn btn-warning" tabindex="3"
    37                                                 value="发送邮件" onClick="return check();">
    38                                                 </h5>
    39                         </form>

    其次为输出页面jsp页面的核心代码

    首先是java部分:

     1 <%
     2 String e_id = request.getParameter("e_id");
     3         request.setAttribute("e_id", e_id);
     4         //数据库jdbc的驱动装载
     5                 Class.forName("com.mysql.jdbc.Driver").newInstance();
     6                 //建立数据库连接
     7                 url = "jdbc:mysql://127.0.0.1:3306/managementsys?user=root&password=123456&useUnicode=true&characterEncoding=gb2312";
     8                 conn = DriverManager.getConnection(url);
     9                 //建立一个Statement对象,用于执行sql语句
    10                 Statement stat = conn.createStatement();
    11                 //执行查询并且得到查询结果。
    12                 sql = "select * from email_message where e_id="+e_id;
    13                 pstat = conn.prepareStatement(sql);
    14                 rs = pstat.executeQuery();
    15 
    16                 String i_name_to,i_name_from,i_id_from,i_id_to,d_name_from,d_id_from,d_id_to,e_name,e_main,d_name_to;
    17                 //将查询的结果集中的记录输出到页面上。
    18                 while (rs.next()) {
    19                     i_name_to= rs.getString("i_name_to").trim();
    20                     i_name_from= rs.getString("i_name_from").trim();
    21                     i_id_from= rs.getString("i_id_from").trim();
    22                     i_id_to= rs.getString("i_id_to").trim();
    23                     d_name_from= rs.getString("d_name_from").trim();
    24                     d_id_to= rs.getString("d_id_to").trim();
    25                     e_name= rs.getString("e_name").trim();
    26                     e_main= rs.getString("e_main").trim();
    27                     d_name_to= rs.getString("d_name_to").trim();
    28 e_main=e_main.replace(" ","<br>"); /*此句实现对换行符的转换*/
    29 request.setAttribute("i_name_to", i_name_to); 30 request.setAttribute("i_name_from", i_name_from); 31 request.setAttribute("i_id_from", i_id_from); 32 request.setAttribute("i_id_to", i_id_to); 33 request.setAttribute("d_name_from", d_name_from); 34 request.setAttribute("d_id_to", d_id_to); 35 request.setAttribute("e_name", e_name); 36 request.setAttribute("e_main", e_main); 37 request.setAttribute("d_name_to", d_name_to); 38 } 39 40 %>

    输出页面的jsp前端代码

     1 <div class="panel panel-success">
     2                     <div class="panel-heading">
     3                         <h3 class="panel-title">
     4                         <span style="font-weight:bold";>标题:</span>${e_name } 
     5                         <br> <span style="font-weight:bold";>from:</span> ${i_name_from} - ${d_name_from } &nbsp
     6                             <${i_id_from }>
     7                             <!--         发信时间:${e_year }年${e_month }月${e_day}日 ${e_hour }时${e_minute } -->
     8                             <br><span style="font-weight:bold";>收件人:</span>${i_name_to} - ${d_name_to } &nbsp<${i_id_to }>
     9                         </h3>
    10                     </div>
    11                     <div class="panel-body">${e_main }</div>
    12                 </div>

    最后贴一个结果

    希望能帮到有需要的朋友!欢迎留言和给出更好的方法!

  • 相关阅读:
    Java条件语句之多重 if
    Java条件语句之 if...else
    equals和==的区别
    Java条件语句之 if
    Java中运算符的优先级
    Java中的条件运算符
    tp 推送微信的模板消息
    thinkphp 上传多张图片
    图片服务器和WEB应用服务器相分离的简单方案
    PHP无限级分类实现(递归+非递归)
  • 原文地址:https://www.cnblogs.com/AKsnoopy/p/8894217.html
Copyright © 2011-2022 走看看