Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jsp中分离javascript和java的最佳方法_Java_Javascript_Jsp - Fatal编程技术网

在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>