我需要获取用户在JSP上的文本框中输入的值。我使用JavaScript来获取值,但之后我需要在页面后面的JavaScript之外访问相同的变量。
这就是我所拥有的:
<script type="text/javascript">
var sp;
function setPolicy(){
sp = document.getElementById('policy').value;
if(sp != "")
alert("You entered: " + sp)
else
alert("Would you please enter some text?")
}
</script>
文本框:
input type="text" id='policy' size="15" tabindex = "1" onblur="setPolicy()"
但我需要稍后在scriplet中访问在此“策略”文本框中输入的字符串,以调用会话bean中的函数。有什么办法可以在JavaScript之外传递该变量吗?还是有另一种方法可以做到这一点吗?
谢谢!
答案 0 :(得分:1)
JavaScript执行发生在客户端,Scriptlet在服务器端执行。你正试图将两者结合起来。
您应该通过传递一个将在文本框中输入值的参数将表单提交到同一页面。您的scriptlet应检查param是否存在。第一次来到这个jsp时,param将不会出现,只有当用户在文本框中输入内容时才会出现。
可能不是最佳解决方案,因为我不了解整个背景。
答案 1 :(得分:0)
我不确定你是否还有jsp的生命周期。到javascript运行时,所有的scriptlet都已经过评估。
我的意思是,一个JSP被渲染,在浏览器的响应中发出html和javascript,并且没有更多的服务器来解释JSP。
那么,您应该将您的问题视为我如何与服务器进行通信,这是用户操作的结果?
可能通过将表单发布到服务器上的操作。
答案 2 :(得分:0)
如果你问如何在java会话bean中获取文本输入值,它与你的javascript代码无关。
会话bean是服务器端代码。要将输入值传递给会话bean,您需要根据您使用的Web框架更改服务器端代码,servlet,strut操作,webwork操作。