function department(){
$("#projectid").css('display','block');//顯示部門信息
$("#other").attr('checked',true);//選中其他部門按鈕
$("#benbumen").attr('checked',false);//不選中本部門按鈕
$.ajax({type:"post",
url:"<%=request.getContextPath()%>/reinbursementAction_getdepartment.action",
dataType : "json",
timeout : 4000,
success : function(data) {
var obj = eval(data);//將string轉化成ajax可識別的對象
$("#projectid").empty();
for ( var i = 0; i < obj.length; i++) {
$("#projectid").append(
"<option value="+obj[i].id+">"
+ obj[i].name + "</option>");
}
},
error : function() {
alert("與服務器連接超時...");
}
});
}
</script>
<script type="text/javascript">
jsp
controller層
private HttpServletResponse reponse;
public HttpServletResponse getReponse() {
return reponse;
}
public void setReponse(HttpServletResponse reponse) {
this.reponse = reponse;
}
public void getdepartment()throws Exception{
reponse = ServletActionContext.getResponse();
reponse.setCharacterEncoding("UTF-8");// 指定返回值的編碼方式,必須放在out聲明之前
StringBuffer sb = new StringBuffer();
sb.append("[");
List<Department> departmentlist=departmentService.findAll();
for(Department dep:departmentlist){
sb.append("{\"id\":"+dep.getId()+",\"name\":\""+dep.getName()+"\"},");
}
sb.deleteCharAt(sb.length()-1).append("]");
String depart=sb.toString();
System.out.println(depart);
PrintWriter out = null;
reponse.setContentType("text/javascript;charset=UTF-8");
try {
out = reponse.getWriter();
out.print(sb);
out.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
out.close();
}
}