我正在开发一个使用JSP的Web应用程序& Servlet。代码不适用于IE8和Mozilla Firefox
我使用google chrome 24.0.1312.57 m
gson2.2.2
当我运行下面的代码它工作正常,但是当我尝试在IE8
和Mozilla Firefox 3.6.13
运行相同的代码,那么相同的代码没有完全填满combobox
。
HTML:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Testing Browser</title>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(document).ready(function() {
alert('in');
//fill Salutation
var $ul = $(SALUTATION);
$.get('MyServlet?action=cmbSALUTATION', function(responseJson) {
$.each(responseJson, function(index, item) {
$('<option>').text(item).appendTo($ul);
});
});
});
</script>
</head>
<body>
<table>
<tbody>
<tr>
<td>Salutation</td>
<td><select name="SALUTATION" id="SALUTATION"> </select></td>
</tr>
</tbody>
</table>
</body>
</html>
的Servlet:
//COMBOBOX - Get the data for column SALUTATION
if(request.getParameter("action")!=null)
if(request.getParameter("action").equalsIgnoreCase("cmbSALUTATION"))
{
String s2[][] = select.getData("select TITLE_ID from CRM_TITLE");
List<String> list = new ArrayList<String>();
for(int i=0;i<s2.length;i++)
{
list.add(s2[i][0]);
}
String json = new Gson().toJson(list);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json);
}
请让我知道,如果我失去了一些东西..
在此先感谢....
一个servlet使用这个JSP来编写带有JavaScript的HTML,它调用另一个servlet来获取你随后放入HTML的东西。为什么原始servlet无法获得您在此JSP中使用c:forEach所需的信息,而不是以这种方式使您的生活复杂化? – 2013-02-08 12:19:55
@EdDaniel感谢您的建议 – Bhushan 2013-02-08 12:47:05
@DownVoters downvoting的原因将不胜感激 – Bhushan 2013-02-09 04:00:51