使用EL表达式和JSTL实现将文本框中的内容输出到页面的功能。 要求:在页面的文本框中输入内容,单击提交按钮后,输入框以及按钮消失,文本框中输入的内容显示到页面。 注意:此题在文本框中输入数据及提交后显示效果都是在同一页面内完成。使用<c:choose>和<c:when>
时间: 2024-12-11 10:25:04 浏览: 10
要在页面上使用EL表达式和JSTL实现这种功能,你可以这样做:
首先,我们需要一个简单的HTML表单,包含一个文本框和一个提交按钮:
```html
<form action="#" method="post">
<input type="text" id="inputBox" name="content" placeholder="请输入内容...">
<button type="submit" onclick="event.preventDefault(); displayContent()">提交</button>
<div id="displayArea" style="display:none;">
<p><c:out value="${content}" /></p>
</div>
</form>
<script>
function displayContent() {
var inputBox = document.getElementById('inputBox');
var displayArea = document.getElementById('displayArea');
// 阻止默认提交行为,防止刷新页面
if (inputBox.value) {
inputBox.style.display = "none";
displayArea.style.display = "block";
displayArea.innerHTML = inputBox.value; // 显示到页面上
} else {
alert("请输入内容!");
}
}
</script>
```
1. 表单中有一个文本框 `inputBox`,用户可以输入内容,还有一个点击事件 `onclick` 阻止其默认提交动作。
2. 点击按钮后,JavaScript函数 `displayContent` 被触发。它检查文本框是否为空,如果非空则隐藏输入框并显示 `#displayArea` 中的内容,这是由EL表达式 `${content}` 来获取的,该值来源于服务器端的POST请求参数。
3. 如果文本框为空,会弹出提示信息让用户输入内容。
记得在后端处理表单提交后返回一个简单的响应,例如一个空字符串,以便更新页面上的内容。
阅读全文