如何在HTML文本字段中获取jsp文件的输出

时间:2017-06-03 18:04:17

标签: html jsp

的index.html

<form action="add.jsp">
first number-<input type="text" name="n1"><br>
second number-<input type="text" name="n2"><br>
<input type="submit" value="SUBMIT"><br>
result-<input type="text">
</form>

add.jsp

<body>
<%
int a,b,c;
a=Integer.parseInt(request.getParameter("n1"));
b=Integer.parseInt(request.getParameter("n2"));
c=a+b;
%>
</body>

如何将c的值放在index.html页面的“结果”文本字段中?

1 个答案:

答案 0 :(得分:0)

首先,我建议不要在jsp中使用scriptlets。 Jsp在视图层中用于提供已处理的结果,将所有逻辑放在servlet而不是此方法中。 更简单的方法:

将index.jsp的表单标记更改为:

<form action="${pageContext.request.contextPath}/demoCalculator">

现在创建一个Servlet :(您需要在web.xml文件中使用url-pattern“demoCalculator”映射此servlet)

import javax.servlet.http.*;  
import javax.servlet.*;  
public class DemoServlet extends HttpServlet{  
    public void doGet(HttpServletRequest req,HttpServletResponse res)  
    throws ServletException  
    {  

        int a=0,b=0,c=0;
        a=Integer.parseInt(request.getParameter("n1"));
        b=Integer.parseInt(request.getParameter("n2"));
        c=a+b;
        request.setAttribute("result", c);
        request.getRequestDispatcher("/index.jsp").forward(request, response);
    }
}

使用url-pattern“demoCalculator”

web.xml中映射servlet
<servlet-mapping>
    <servlet-name>DemoServlet</servlet-name>
    <url-pattern>/demoCalculator/</url-pattern>
</servlet-mapping>

使用jsp页面作为index.jsp并保持结果如下:

result-<input type="text" value='<c:out value="${requestScope.result}"/>' >