从JSP脚本设置JSTL条件,然后传递给java脚本
Set JSTL condition from a JSP scriptlet, then pass to java script
好的。我不确定这是否真的是我问题的目标,但我真的在努力了解如何解决我的问题。我不停地跑跨栏。我试图将一个布尔变量从一个scriplet传递给JSTL,然后调用一个js函数来读取它的true还是false。以下是我目前所拥有的:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!--Take out after testing -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head></head>
<body>
<form name="myForm" action="test.html">
----
<% if (myJavaFunction.FormIsChanged() && myJavaFunction.ErrorCount()>0) {%>
<br />
<%@include file="/countallerrors.jsp"%>
<br />
<% } %>
<c:set var="ErrorPresent" value="false"/>
</form>
</body>
</html>
基本上,我的问题是如何将"ErrorPresent"变量设置为等于(myJavaFunction.FormIsChanged() && myJavaFunction.ErrorCount()>0)
?
我是JSTL的新手,经过今天的一些研究,我发现使用scriptlet不是一个好的实践,所以我想试着看看我是否可以用JSTL做到这一点。一旦我让JSTL布尔变量起作用,我想传递给一个java脚本函数,这个函数将在提交表单之前确定表单是否有错误。任何指示都将不胜感激。
谢谢,Naina
您是正确的,使用scriptlet通常不是很好的做法——最好是编写特定的标记来封装业务逻辑。这有助于强制实现表示与控制代码的分离。
但要实现你想要的,可以试试这个:
<% boolean errorPresent = myJavaFunction.formIsChanged() && myJavaFunction.errorCount()>0; %>
变量errorPresent
现在可用于页面范围,并且可以使用普通的JSTL插值来引用,如<p>errorPresent: ${errorPresent}</p>
另一个风格上的注意事项是:Java风格是变量和方法名称为camelCased
,首字母小写。类名应为MixedCase
,首字母大写。我上面的例子纠正了这一点。(常数应为ALL_CAPS_WITH_UNDERSCORES
)
我认为您正在寻找的答案是:
<c:set var="ErrorPresent" value="${(myJavaFunction.FormIsChanged() && myJavaFunction.ErrorCount()>0)}"/>
相关文章:
- 为什么这个脚本只工作一次?只替换元素一次,然后再也不替换
- 我可以使用jquery和AJAX来调用cgi-bin脚本,然后添加消息事件来处理服务器发送事件吗
- 等到所有脚本都完成,然后再启用按钮
- 即首先破坏我的 JS 脚本,然后我按 F12,它工作得很好
- 我将如何完成此脚本,该脚本将用户输入乘以 100,然后在浏览器中将其输出到控制台
- 通过脚本在中隐藏元素,然后使用函数显示
- Javascript计算脚本,用于计算表单输入值,然后另存为page2.php的隐藏输入
- 使用 Json 获取 Twitter 提要,然后使用 PHP 将输出转换为 PHP 变量?- 推特-2-json脚本
- 创建一个超链接(或按钮),用于执行 python 脚本,然后在脚本完成时重定向
- 像谷歌分析一样加载js脚本,然后运行一个函数
- 从“选项”弹出窗口中选择一个值,然后将其保存到 Chrome.storage,以便在后台脚本中用作值
- 使用 AJAX 获取 JSON 数据,然后修改 raphael.js 脚本
- 如何通过这个java脚本函数传递字符串变量,然后传递到getElementById()
- 如何先调用客户端脚本函数,然后再调用服务器端按钮单击事件
- 重新加载仅包含脚本的 DIV,然后执行脚本
- jQuery从PHP脚本预加载图像,然后显示
- Jquery.脚本更改输入字段中的值.然后根据输入字段中的值需要执行if语句
- PHP脚本重新运行自己,直到进程完成.然后每周重新启动
- 将数据传递到CGI脚本,然后使用jQuery.ajax返回
- 咖啡脚本:如果.是然后