JSP名称参数在与字符串相同的JSP页面中动态显示

时间:2014-03-14 12:15:16

标签: java javascript jsp

我需要动态地在同一个JSP中使用input type = textString中输入的值显示为out.println(),现在我能够显示在第一个文本中输入的文本字段到另一个,即第二个文本字段。

<html> 
<body>
    <script>
    function jspFunction()
    {
        var dat = document.getElementById("dateId").value;
        document.getElementById("dateId1").value = dat;
    }
    </script>

<p>Input text : <input type="text" name="dateName" id="dateId" size="30" onchange="jspFunction()"/></p>
<p>Output text area : <input type="text" name="dateName1" id="dateId1"/></p> // I am getting proper o/p here

<%
String ss = request.getParameter("dateName1");
out.println("Converted to string   :" + ss); // The string value is displaying as null
%>

</body>
</html>

我需要动态更改String ss值,并自动显示在html文本标记字段的o / p下方。

我不确定String ss = request.getParameter("dateName1");是否正在接收该值。

2 个答案:

答案 0 :(得分:2)

代码在服务器端执行。如果您知道基本概念而不是将JSP转换为Java类(),并且该servlet生成HTML,这是您在浏览器中看到的。

因此,当您尝试在浏览器中加载JSP时,<% ... %>之间的代码将被转换为java,然后由容器转换为HTML,然后在浏览器中呈现。因此,如果您在浏览器中检查HTML源代码(右键单击页面→查看源代码),您会看到<% ... %>之间的代码无处可见。

虽然Javascript是一种客户端(浏览器)语言而不是JSP,所以如果你想在页面上做一些动态的东西,那么这里是一个例子:

<html> 
<body>
    <script>
    function jspFunction()
    {
        var dat = document.getElementById("dateId").value;
        document.getElementById("dateId1").value = dat;

        // here is the change
        document.getElementById("print-here").innerHTML = dat;
    }
    </script>

<p>Input text : <input type="text" name="dateName" id="dateId" size="30" onchange="jspFunction()"/></p>
<p>Output text area : <input type="text" name="dateName1" id="dateId1"/></p> // I am getting proper o/p here

<div id="print-here">
<!-- And here is the div where the value would be printed -->
</div>

</body>
</html>

否则您可以使用向服务器发送请求,然后阅读响应以打印该值。

或者您可以使用并使用提交按钮提交字段的值,然后在刷新页面时通过request.getParameter("dateName1");阅读。

注意:我在回答中使用了标签,这些标签提供了有关每种技术的良好基础教程和信息。我强烈建议您完成这些概念。感谢

答案 1 :(得分:0)

JSP代码在服务器端运行,JavaScript在客户端(浏览器)运行。

因此,如果您需要动态地将它们相互连接而不刷新整个页面,那么您应该使用AJAX。

请记住,如果您想检查服务器端文本框中输入的值,出于某种原因,您应该这样做,否则只需JavaScript。