问题说明
MyEclipse 2016目前最新版为CI 3,从CI 1起,添加了live preview功能,也就是实时预览,详情看官网介绍,这个功能在web项目中是默认开启的。但是这个功能引发的bug目前还得不到解决,已经得到官网的证实,确实是一个bug,并且会在后续版本中更新。
bug详情
开启live preview功能后,发布web项目时,myeclipse会自动在所有jsp文件的标记中添加 “data-genuitec”属性,注意是发布时,生成到tomcat webapp目录里面的jsp,通过这个属性,MyEclipse实现了live preview功能,但是开启tomcat,发布项目后,访问项目地址会报以下错误:
org.apache.jasper.JasperException: /index.jsp (line: 2, column: 0) Forward has invalid attribute: data-genuitec
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:275)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:91)
org.apache.jasper.compiler.JspUtil.checkAttributes(JspUtil.java:200)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:589)
org.apache.jasper.compiler.Node$ForwardAction.accept(Node.java:1092)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)
org.apache.jasper.compiler.Node$Root.accept(Node.java:464)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1853)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)
…
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
index.jsp文件内容为:
<%@ page language=”java” import=”java.util.*” pageEncoding=”UTF-8″%>
<jsp:forward page=”/login_toLogin” data-genuitec=”wc1-70-4980″/>
- 1
- 2
也就是<jsp:forward/>
标签中的data-genuitec
属性不能够被解析,删除index.jsp文件中的该属性就可以正常访问项目了,但是这样之后又有另外一个问题,就是项目编码有问题,项目源码中的jsp编码没问题,但是发布后,也就是MyEclipse添加data-genuitec
属性后复制到tomcat的webapp目录中的jsp编码有问题,所以怀疑是MyEclipse的问题。
我在官网论坛提问后,很快得到了官方人员的证实:
Problems About Live Preview With MyEclipse 2016 CI 3
解决方法
目前只能等官网发布新版本了,临时解决方法就是关闭live preview功能,其实这个功能很有用,期待以后的版本吧。
关闭方法如下:
两种方法都可以。
转载自(xin053)http://blog.csdn.net/zhouzixin053/article/details/51685858,更多详情请到此查看,尊重原创。