如何使用jsp输出我在文本框中输入的内容

时间:2017-04-22 14:59:16

标签: java jsp taglib

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<form:form
    action="/hospital/login.html" 
    method="post">
        User name: <form:input name="un" path="username"/> <br/>
        password: <form:password path="password"/><br/>
<c:out value="${ un }" />
</form:form>

我不想使用任何scriplet因为我使用spring mvc编程servlet,但我想同时显示我在文本框中键入的内容。

1 个答案:

答案 0 :(得分:1)

如果您想同时执行某些操作而不发布表单,那么您将需要使用Javascript进行客户端脚本编写。

一种非常简单和纯粹的Javascript方式来实现您想要的如下所示。

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<form:form
    action="/hospital/login.html" 
    method="post">
        User name: <form:input name="un" path="username" onkeyUp="javascript:sync()" /> <br/>
        password: <form:password path="password"/><br/>
<span id='outLabel'></span>
</form:form>

<script type="text/javascript">
function sync()
{
  var textbox = document.getElementsByName('un')[0];
  var label = document.getElementById('outLabel');
  label.textContent = textBox.value;
} 
</script>

您可以使用客户端部分here的JSFiddle示例。

您可以通过多种方式改进这一点:对id使用form:input,使用jquery更轻松地选择dom元素,包括来自js文件的javascript部分,您应该考虑更好的设计