我需要动态地在同一个JSP中使用input type = text
将String
中输入的值显示为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");
是否正在接收该值。
答案 0 :(得分:2)
jsp代码在服务器端执行。如果您知道基本概念而不是将JSP转换为Java类(servlet),并且该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>
否则您可以使用ajax向服务器发送请求,然后阅读响应以打印该值。
或者您可以使用html-form并使用提交按钮提交字段的值,然后在刷新页面时通过request.getParameter("dateName1");
阅读。
注意:我在回答中使用了标签,这些标签提供了有关每种技术的良好基础教程和信息。我强烈建议您完成这些概念。感谢子>
答案 1 :(得分:0)
JSP代码在服务器端运行,JavaScript在客户端(浏览器)运行。
因此,如果您需要动态地将它们相互连接而不刷新整个页面,那么您应该使用AJAX。
请记住,如果您想检查服务器端文本框中输入的值,出于某种原因,您应该这样做,否则只需JavaScript。