如何将变量的值从java类传递给jsp页面

Arc*_*ana 8 java ajax jsp servlets

我有两个名为Admin.java和的文件index.jsp.

Admin.java通过函数我检索名为varible的值res.需要将此变量传递给JSP页面.

Admin.javaC:\Users\praveen\workspace\SemanticWeb\src\controller,而index.jspC:\Users\praveen\workspace\SemanticWeb\WebContent.

Admin.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;
     }
Run Code Online (Sandbox Code Playgroud)

index.jsp的代码是

function login(user, pass) 
{

  $.ajax({
    type:"GET",
    url: "Admin?action=login",
    dataType: "text",
    data: { username: user, password: pass },
    success: function(response){

    }
Run Code Online (Sandbox Code Playgroud)

在...内

function(response)
{
 ......
} 
Run Code Online (Sandbox Code Playgroud)

我需要访问res传递的值Admin.java.我无法在互联网上为我的代码获得任何适当的帮助.请有人帮我这个.

Bal*_*usC 4

从你的代码来看,

request.setAttribute("rest", res);
Run Code Online (Sandbox Code Playgroud)

您不应该将其设置为请求属性。仅当您转发到 JSP 文件时,设置请求属性才有用。您需要自己直接将其写到回复中。将该行替换为

response.getWriter().write(res);
Run Code Online (Sandbox Code Playgroud)

这样,它就会出现在响应正文中,并可作为responseJS 函数中的变量使用。

也可以看看: