首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

在jsp页面中,用jstl标签怎么获取复选框后边的中文文字?(1、怎么获得值;2、怎么解决在jsp页面显示时出现的乱码有关问题)

2013-12-20 
在jsp页面中,用jstl标签如何获取复选框后边的中文文字?(1、如何获得值;2、如何解决在jsp页面显示时出现的乱

在jsp页面中,用jstl标签如何获取复选框后边的中文文字?(1、如何获得值;2、如何解决在jsp页面显示时出现的乱码问题)
在index.jsp页面中,用一个form表单:

 <form action="checkbox.jsp" method="post">

           <input value="china" type="checkbox" name="country">
           中国
           <br>

           <input value="english" type="checkbox" name="country">
           英国
           <br>

           <input value="美国" type="checkbox" name="country">
           美国
           <br>

           <input value="法国" type="checkbox" name="country">
           法国
           <br>

           <input value="德国" type="checkbox" name="country">
           德国
           <br>

           <input type="submit">           
  </form>



现在的问题是:
我想在checkbox.jsp页面中,通过jstl标签获得“中国”、“英国”、“美国”、“法国”、“德国”,可是,我用${paramValues.country},获得结果是:

    china
    english
    ??????
    ?3????
    ??·???

1、没有获得字符串“中国”,而得到了字符串“china”
2、如何解决在jsp页面显示时出现的乱码问题

如何解决这2个问题,请告知,谢谢了!分不够,可以加分。




[解决办法]
checkbox.jsp的body内容:要引入<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

<body>
  <fmt:requestEncoding value="utf-8" />
  <c:forEach items="${paramValues.country}" var="pic">
  <c:if test="${pic=='china'}">
<c:out value="中国" ></c:out>
</c:if>
<c:if test="${pic=='english'}">
<c:out value="英国" ></c:out>
</c:if>
<c:if test="${pic!='english' && pic!='china'}">
<c:out value="${pic }" ></c:out>
</c:if>
  </c:forEach>
  </body>
 这种情况是pageEncoding为utf-8的情况,你看下你jsp的第一行他的编码为多少,如果也是utf-8就和我写的一样就行,要是不一样<fmt:requestEncoding value="utf-8" />的value就改成什么编码就行

热点排行