在jsp中分离javascript和java的最佳方法
范例在jsp中分离javascript和java的最佳方法,java,javascript,jsp,Java,Javascript,Jsp,范例 因此,我需要一个好的impl来在jsp文件中分离js和java。在jsp中使用标记库,而不是java代码。您发布的代码很简单,可以通过simple核心标签来实现。有很多开源标记库可以用来避免JSP中的java代码。一旦你开始使用它们,它会看起来更干净。有关类似问题,请查看以下链接: 对于这个用例,您可以在servlet中检查编辑器(您可以从请求中获取会话)并从它重定向到登录 标记库也可以解决这个问题,但如果你问我,它仍然感觉像JSP中的Java。根据给出的代码,我建议不要在每个JSP中检查
因此,我需要一个好的impl来在jsp文件中分离js和java。在jsp中使用标记库,而不是java代码。您发布的代码很简单,可以通过simple核心标签来实现。有很多开源标记库可以用来避免JSP中的java代码。一旦你开始使用它们,它会看起来更干净。有关类似问题,请查看以下链接:
对于这个用例,您可以在servlet中检查编辑器(您可以从请求中获取会话)并从它重定向到登录
标记库也可以解决这个问题,但如果你问我,它仍然感觉像JSP中的Java。根据给出的代码,我建议不要在每个JSP中检查身份验证,而是使用一个过滤器。在您的过滤器中,检查您需要知道的任何内容,并将HTTP重定向发送到loginform。我认为在jsp中使用java代码的最佳方法是使用JSTL标记。您可以了解更多关于JSTL的信息 只需在jsp文件中包含以下行
use java code to get something....
if(something is true){
Then do something with javascript;
}
您的代码将是
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
函数重定向函数(){
window.parent.location.href=“login.jsp”;
//其他代码将转到这里。
}
您还可以在一个demo.js文件中编写此函数,并将其作为
function redirectFunction() {
<c:choose>
<c:when test="${empty sessionScope.editor}">
window.parent.location.href = "login.jsp";
</c:when>
<c:otherwise>
//other code will go here.
</c:otherwise>
</c:choose>
}
就这些
在jsp中分离javascript和java的最佳方法
不要在JSP中使用Java
忘记Scriptlet,避免JSP中的业务逻辑,只使用JSTL(或Struts中的OGNL)来执行表示逻辑。替代方案是可以的,但是当前的问题呢?
function redirectFunction() {
<c:choose>
<c:when test="${empty sessionScope.editor}">
window.parent.location.href = "login.jsp";
</c:when>
<c:otherwise>
//other code will go here.
</c:otherwise>
</c:choose>
}
<script type="text/javascript" src="javascript/demo.js"></script>