【问题标题】:Print output in TextArea(append-way) from different class in JSP/ServletJSP/Servlet中不同类的TextArea(附加方式)打印输出
【发布时间】:2020-09-08 09:26:32
【问题描述】:

我有以下动态网络项目设置

Index.jsp

<form action="submitClick" method ="post"
<textarea> id="textarea" name="textarea" rows="25" cols="100">${result}</textarea>
<input type="submit">


 SubmitClick.java //servlet class
    public class SubmitClick extends HttpServlet{
    public void doPost(HttpServletRequest request, HttpServletResponse response){
    MainLogicClass mainLogic = new MainLogicClass(username,password); //let's suppose hardcoded
    
    request.setAttribute("result", "Hello");// Hello is getting printed on textarea, but I want to print output text on textarea from MainLogicClass.
    
    getServletContext().getRequestDispatcher("/index.jsp").forward(request,response);
    }
    }

MainLogicClass//different class, present in same package

public class MainLogicClass{
public MainLogicClass(String username, String password){
//DB Connection logic
System.out.println("Database Connection successful");
/* I want to print "Database Connection successful" on textarea which presents on index.jsp
And after that, I need to print few more output so that the text gets appended to textarea like-
"Database Connection successful

DB query executed

DB connection closed"
*/
}
}

如何使用 request.setAttribute 方法或任何其他解决方法将文本从 MainLogicClass 打印到 Servlet。

【问题讨论】:

    标签: java jsp servlets textarea


    【解决方案1】:

    构造函数没有任何返回类型,所以你可以创建一个方法并将你的逻辑代码放在那里并返回一些,而不是构造函数从那里的价值。所以,MainLogicClass 中的方法如下所示:

    public String Something(String username, String password){
    String msg = "" ;
    msg +="Something to return";
    msg +="soemthing more";
    //your logic code
    return msg;//return back   
    }
    

    然后在您的 servlet doPost 方法中执行如下操作:

     MainLogicClass mainLogic = new MainLogicClass();
     String message  =  mainLogic.Something(String username, String password);//call that function
     request.setAttribute("result", message );
    

    【讨论】:

    • 感谢您的快速回答,它几乎完全回答了我的问题,但这里有一个问题,如果我想打印实时文本而不是在方法结束时返回字符串然后打印。假设,我想打印现场板球比分。任何建议/方法将不胜感激。
    • 然后在这里使用ajax 可以工作,因为在这里调用你的后端你需要提交你的表单并且页面也会刷新所以使用ajax。这是example 如何实现相同的目标。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-14
    相关资源
    最近更新 更多