【问题标题】:Why does OpenShift Tomcat 7 (JBoss EWS 2.0) does not support <form:*> tags of spring MVC in jsps?为什么 OpenShift Tomcat 7 (JBoss EWS 2.0) 不支持 jsps 中 spring MVC 的 <form:*> 标签?
【发布时间】:2015-02-26 16:15:02
【问题描述】:

在我的 Spring mvc login.jsp 中的 sn-p 是:

<form:form    method="post" action="authenticate" modelAttribute="userInfo">
                              <div class="form-group">
                                <label for="exampleInputEmail1">User Name</label>
                                   <i class="fa fa-user"></i>
                                <form:input  path="loginID" id="username" placeholder="" />

                              </div>
                              <div class="form-group"> 
                                <label for="exampleInputPassword1">Password</label>
                                <i class="fa fa-lock"></i>
                                 <form:password class="form-control" path="password" id="password" placeholder=""/>

                              </div>
                              <div>

                                <button type="submit" class="btn btn-danger">Login</button>
                              </div>
                            </form:form>

这给了我

org.apache.jasper.JasperException: 无法为 JSP 编译类

错误 当我将上面的代码修改为:

<form:form    method="post" action="authenticate" modelAttribute="userInfo">
                              <div class="form-group">
                                <label for="exampleInputEmail1">User Name</label>
                                   <i class="fa fa-user"></i>
                                <input type="text" name="loginID" id="username"/>
                              </div>
                              <div class="form-group"> 
                                <label for="exampleInputPassword1">Password</label>
                                <i class="fa fa-lock"></i>
                                 <input type="password" class="form-control" name="password" id="password" />
                              </div>
                              <div>
                                <button type="submit" class="btn btn-danger">Login</button>
                              </div>
                            </form:form>

现在它工作正常。 问题是为什么上面的代码不能编译,而第二个代码运行得很好? 我需要 Tomcat 7 才能使用 &lt;form:*&gt; 标签,因为我的应用程序的其余部分是用 &lt;form:*&gt; 语法编写的,而 Tomcat 7 似乎只支持 &lt;form:form&gt; 标签。

编辑:

似乎 Tomcat 7.0.54 不支持标签,因为我在 Tomcat 7.0.54 上本地运行应用程序,它给出了相同的编译错误。那么我如何才能在 Tomcat 7.0.54 上运行带有标签的应用程序,因为我只能使用 openshift Tomcat?有什么解决办法吗?

【问题讨论】:

  • 你能完整地发布堆栈跟踪吗?我想知道它的抛出错误是哪一行。对我来说它为什么会这样做是没有意义的。
  • 你的jsp中包含标签库了吗?
  • @minion 你可以看到完整的堆栈跟踪here。这对我来说也很奇怪。
  • @javafan 当然我做到了,这就是为什么它没有为
    给出错误但为
    给出错误

标签: java jsp spring-mvc tomcat openshift


【解决方案1】:

嗯,我在 open shift Tomcat 7.0.54 上部署的 Spring MVC 应用程序支持除 之外的标记,然后指向位于另一个的 SQL SERVER DB位置现在它指向打开 shift PostgreSQL。 令人惊讶的是,网络应用程序运行良好。但是我没有得到它早些时候给出错误的确切原因。 我想有一些可能的原因:

1.用于编译 JSP 的 JAR 文件可能在 open shift Tomcat lib 位置损坏。 2. JAR 版本本地tomcat Lib Jars 和open shift Tomcat lib Jars 不匹配。 3. WAR 文件没有用正确版本的 Jars 正确构建,或者可能是一些意想不到的原因。 4. WAR在open shift tomcat中没有正确部署。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-26
    • 1970-01-01
    • 1970-01-01
    • 2015-04-28
    相关资源
    最近更新 更多