zoukankan      html  css  js  c++  java
  • jsf el表达式无法正确显示的问题

    问题与此人错误一样

    我是按照JSF入门这本书上写的一个例子,功能是在第一个页面输入任意字符,点击提交,跳转到第二个欢迎页面,显示你输入的字符和“你好”字符串。可是当你访问第一个页面的时候,输入文本框中的内容默认是"#{user.name}",把它删除掉输入ABC,跳转到第二个页面却显示"#{user.name}你好"。
    部分代码如下,请帮忙看一下,谢谢了。
    UserBean.java
    package onlyfun.caterpillar;
    public class UserBean{
    private String name;
    public void setName(String name){
    this.name = name;
    }
    public String getName(){
    return name;
    }
    }
    faces-config.xml局部代码:
    <?xml version="1.0"?>
    <!DOCTYPE faces-config PUBLIC
    "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
    "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
    <faces-config>
    <navigation-rule>
    <from-view-id>/pages/index.jsp</from-view-id>
    <navigation-case>
    <from-outcome>login</from-outcome>
    <to-view-id>/pages/welcome.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    <managed-bean>
    <managed-bean-name>user</managed-bean-name>
    <managed-bean-class>
    onlyfun.caterpillar.UserBean
    </managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
    </faces-config>
    web.xml代码:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">
    <description>
    JSF Demo
    </description>
    <display-name>JSF Demo</display-name>
    <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>
    javax.faces.webapp.FacesServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.faces</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    </welcome-file-list>
    </web-app>
    第一个页面index.jsp
    <%@taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@page contentType="text/html;charset=GB2312"%>
    <html>
    <head>
    <title>第一个JSF程序</title>
    </head>
    <body>
    <f:view>
    <h:form>
    <h3>请输入您的名称</h3>
    名称: <h:inputText value="#{user.name}"/><p>
    <h:commandButton value="送出" action="login"/>
    </h:form>
    </f:view>
    </body>
    </html>
    第二个页面welcome.jsp
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@page contentType="text/html;charset=GB2312"%>
    <html>
    <head>
    <title>第一个JSF程序</title>
    </head>
    <body>
    <f:view>
    <h:outputText value="#{user.name}"/> 您好!
    <h3>欢迎使用 JavaServer Faces!</h3>
    </f:view>
    </body>
    </html>

    页面上 出现

    1762(B2T%%4`Z%R`6]F@T$L

    解决办法:

    http://blog.csdn.net/tianxiajianling/article/details/6427750

    确保web.xml中定义的版本为2.5以上(目前就2.5),如:

    HTML code

    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">

    注意改完后要清理tomcat work目录才能生效

    I'm falling off the sky all alone.The courage inside is gonna break the fall. Nothing can dim my light within. I am That I am 程序 = 数据结构 + 算法
  • 相关阅读:
    sql server 获取存储过程,表值,标量函数的参数
    拼接枚举字符串
    存储过程的输出接受强类
    映射对象
    C# abstract,virtual 修饰符
    SqlSugar之SqlQueryDynamic返回值处理
    sql server 中数据库数据导入到另一个库中
    sql server 自增长显式添加值
    sql得到表中的列信息
    程序中MMap集合数据重复导致程序慢的情况
  • 原文地址:https://www.cnblogs.com/IamThat/p/2984629.html
Copyright © 2011-2022 走看看