ajax如何将变量值从java类传递到jsp页面
我有两个名为Admin.java
和index.jsp
的文件
在Admin.java
中,我通过函数检索名为res
的变量的值。此变量需要传递到JSP页面
Admin.java
在C:\Users\praveen\workspace\SemanticWeb\src\controller
中,而index.jsp
在C:\Users\praveen\workspace\SemanticWeb\WebContent
中
管理员的代码。java是:
public Admin()
{
super();
}
protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException
{
if (action.equals("login"))
{
String userName="";
String password="";
userName = request.getParameter("username");
password = request.getParameter("password");
response.setCharacterEncoding("UTF-8");
SemanticSearch semsearch = new SemanticSearch(request.getSession());
semsearch.loadData(REALPATH + RDFDATASOURCEFILE1);
String res=semsearch.searchForUser(userName, password);
System.out.println("The value of res been passed is "+res);
request.setAttribute("rest", res);
return;
}
索引的代码。jsp是
function login(user, pass)
{
$.ajax({
type:"GET",
url: "Admin?action=login",
dataType: "text",
data: { username: user, password: pass },
success: function(response){
}
在
function(response)
{
......
}
我需要访问由Admin.java
传递的res
的值。我无法在Internet上获得有关我的代码的任何适当帮助。有人能帮我吗
# 1 楼答案
如果这是一个ajax请求,您可以将请求转发到另一个jsp页面,而不是返回。用这个
另一种方法是更换系统。出来用这个打印
但我想这是一个糟糕的做法。参见示例here
# 2 楼答案
看起来您正在使用AJAX,所以我想说您的响应需要以与AJAX兼容的方式进行编码(JSON、XML等等)
如果使用AJAX编码,函数可能如下所示:
编辑:
我们使用JSON Simple进行JSON编码
我们的Java后端看起来是这样的(没有错误检查的简化版本):
在Javascript函数中:
# 3 楼答案
根据你的代码
不应该将其设置为请求属性。只有在转发到JSP文件时,设置请求属性才有用。你需要直接写在回复上。将线路替换为
这样,它将在响应体中结束,并在JS函数中作为变量
response
可用另请参见: