使用input type=text value=str取值不完全解決方案

字號:


    今天碰到一個很奇怪的問題,看看如下代碼:
    SimpleDateFormat dateFormat = new SimpleDa
    代碼如下:
    teFormat("yyyy年MM月dd日 E ");
    String date = dateFormat.format(new Date());
    >
    本意是想要打印出來XXXX年XX月XX日 星期X
    問題出在如下代碼,當(dāng)我想要取得格式化之后的數(shù)據(jù)時,在value=方法取值時,只能取到“XXXX年XX月XX日”,后面的“星期X”一直取不到
    代碼如下:
    <td>
    <label>
    <input type="text" value=<%=date%> disabled />
    </label>
    </td>
    ①后來想到,有可能是HTML轉(zhuǎn)義問題,于是就將"yyyy年MM月dd日 E "中的空格全部去掉了,結(jié)果可以正常取值了或者改為“yyyy年MM月dd日-E”
    ②還有一種方法,只要使用轉(zhuǎn)義字符將準(zhǔn)備顯示的字符串中內(nèi)容逐個替換即可
    代碼如下:
    <%
    String result = "";
    for (int i = 0; i < date.length(); i++) {
    switch (date.charAt(i)) {
    case '<':
    result += "<";
    break;
    case '>':
    result += ">";
    break;
    case '&':
    result += "&";
    break;
    case '"':
    result += "\"";
    break;
    case '\'':
    result += "'";
    break;
    case ' ':
    result += "&nbsp;";
    break;
    default:
    result += date.charAt(i);
    }
    }
    %>
    參考內(nèi)容如下:
    HTML原代碼 顯示結(jié)果 描述
    &lt; < 小于號或顯示標(biāo)記
    &gt; > 大于號或顯示標(biāo)記
    &amp; & 可用于顯示其它特殊字符
    &quot; " 引號
    &reg; ® 已注冊
    &copy; © 版權(quán)
    &trade; ™ 商標(biāo)
    &ensp;  半個空白位
    &emsp;  一個空白位
    &nbsp; 不斷行的空白