学习ajax4jsf+myfaces ,今天写了个简单的HelloWorld。
1,jsp页面:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="ikeel"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<f:view>
<h:form>
<ikeel:region>
<h:outputText value="Try It"></h:outputText>
<h:inputText id="name" size="100" value="#{Picture.name}">
<ikeel:support event="onkeyup" reRender="showname"></ikeel:support>
</h:inputText>
<h:outputText id="showname" value="#{Picture.name}"/>
</ikeel:region>
</h:form>
</f:view>
</body>
</html>
2,JavaBean:
package dian.ikeel.ajaxjsf.demo;
public class Simplest {
private String name;
public Simplest()
{}
public void setName(String name)
{
this.name=name;
}
public String getName()
{
return name;
}
}
3,web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>/WEB-INF/faces-config.xml</param-value>
</context-param>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
<listener>
<listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
</listener>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<filter>
<display-name>AjaxJSF</display-name>
<filter-name>AjaxJSF</filter-name>
<filter-class>org.ajax4jsf.Filter</filter-class>
</filter>
<filter-mapping>
<filter-name>AjaxJSF</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
4,faces-config.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config >
<managed-bean>
<managed-bean-name>Picture</managed-bean-name>
<managed-bean-class>dian.ikeel.ajaxjsf.demo.Simplest</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
</faces-config>
这样就可以运行一个最简单的Ajax应用了,其中有几个要注意的地方:
jsp页面中的<ikeel:region > 标签是需要的,如果没有则第一个outputText无法显示。
web.xml 中javax.faces.STATE_SAVING_METHOD 如果设置为server,可能会出现一下问题:第一次请求正常,但是后面的请求会报错:重复ID。 改为client可以解决。 用client会带来的问题是每次请求会传输比较大的数据量。
继续学习中.....
分享到:
相关推荐
**JSF(JavaServer Faces)入门 HelloWorld 指南** JavaServer Faces (JSF) 是一个用于构建用户界面的 JavaEE 核心技术,它提供了一种声明式的方式来创建 Web 应用程序的用户界面。JSF 提供了一个组件模型,使得...
**JSF HelloWorld 示例详解** JavaServer Faces (JSF) 是一个用于构建用户界面的 Java 框架,它主要用于Web应用程序开发。这个“JSF HelloWorld”示例将帮助我们了解JSF的基础工作原理以及如何开始使用它。我们将...
虽然在描述中未提及,但在实际开发中,你可以通过集成PrimeFaces来增强"HelloWorld"应用的用户体验,例如使用`<p:commandButton>`实现AJAX操作,或使用`<p:dialog>`显示对话框。 **学习资源** 为了深入学习JSF 2.0...
例如,`HelloWorld.xhtml`,并在其中编写如下代码: ```html <!DOCTYPE html> xmlns:h="http://xmlns.jcp.org/jsf/html"> <title>Hello World <h1>#{helloBean.message} ``` 这里,`#{helloBean....
通过这个“richfaces_helloWorld”项目,开发者可以学习如何在MyEclipse环境中配置和使用RichFaces框架,理解JSF和RichFaces组件的生命周期,以及如何利用AJAX增强Web应用的交互性。此外,还能掌握Java Web应用的...
这个"JSF-2-Hello-World-Example.zip"压缩包很可能是包含了一个简单的JSF 2.x入门示例,帮助初学者理解框架的基本工作原理和使用方法。 JSF框架的核心组件包括: 1. **Facelets**:JSF 2.x默认的视图层技术,用于...
3. **第一个JSF应用**:创建一个简单的"Hello, World!"程序,展示如何创建JSF页面和后台bean。 4. **UI组件使用**:介绍各种内置组件的使用,如输入字段、按钮、标签等,以及如何自定义组件。 5. **数据绑定和EL...
例如,"第一章:JSF简介"可能包含了一些基础的Hello, World!程序,展示了如何创建一个简单的JSF页面并进行交互。"第二章:组件模型"可能会介绍如何声明和使用内置组件,以及自定义组件的创建过程。"第三章:生命周期...
通过一系列示例,我们将深入学习如何创建JSF项目,设置环境,编写第一个Hello World程序,以及如何处理表单提交、验证用户输入、使用数据库等实际场景。 总的来说,"JSF入门全系列"涵盖了JSF框架的各个方面,旨在...
2. **创建第一个JSF应用**:通过简单的"Hello, World!"示例,理解JSF的基本架构和工作流程。 3. **理解组件和EL**:学习如何使用各种UI组件,以及EL表达式的语法和用途。 4. **处理表单和验证**:学习如何创建表单...
3. **第一个JSF应用**:创建一个简单的"Hello, World!"程序,了解JSF页面(.xhtml)和后台bean的交互。 4. **组件使用**:学习如何在页面上添加和配置UI组件,以及如何处理用户输入。 5. **数据绑定**:掌握EL...
2. **第一个JSF应用**:创建简单的“Hello, World”应用,展示如何创建一个JSF页面和对应的后台Bean。 3. **组件库**:介绍JSF标准组件库(JSF Core和PrimeFaces等)中的常见组件及其使用方法。 4. **数据绑定**:...
创建第一个JSF程序通常包括创建一个简单的Hello, World页面,使用JSF的`h:outputText`组件显示文本。 ### 1.3 简单的导航 在JSF中,页面间的导航可以通过`h:commandButton`或`h:link`组件实现。导航规则通常在faces...
private String message = "Hello, World!"; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } } ``` **2.1.4 在faces-config.xml中...
文档还会涉及到如何配置PrimeFaces,以及一个简单的“Hello World”示例,让开发者对PrimeFaces有一个初步的体验。 PrimeFaces的“ComponentSuite”是文档的第三部分,也是最为重要的部分之一。这部分详细介绍了...
**PrimeFaces** 是一款专为 JavaServer Faces (JSF) 框架设计的强大 UI 组件库,它提供了丰富的前端界面构建工具,使得开发者能够更加高效地开发出美观且功能强大的 Web 应用程序。PrimeFaces 的组件库不仅涵盖了...
第1章 Struts 2概述,第2章 Struts 2下的HelloWorld,第3章 Struts 2基础,第4章 深入Struts 2,第5章 Struts 2的类型转换,第6章 文件的上传和下载.,第7章 Struts 2的拦截器,第8章 Struts 2的输入校验,9.2 ...
#### 1.3 HelloWorld入门示例 创建一个简单的JSF页面,并引入PrimeFaces库。在页面上放置一个按钮,当用户点击该按钮时,会触发一个简单的事件处理逻辑,例如显示一条欢迎消息。这样的示例有助于快速了解如何集成...
- **HelloWorld示例** - 在最简单的场景下,一个包含“Hello World!”的`.jsf`文件只需要一行代码即可实现。 - 这个示例展示了JSFTemplating的强大之处:它极大地简化了页面的创建过程,提高了开发效率。 - **...
##### 3.3 示例:HelloWorld 这是一个简单的示例,用于演示如何使用DWR实现客户端与服务器之间的通信。 1. **Service类**:创建一个名为`HelloService`的类,其中包含一个返回字符串的方法。 2. **DWR配置**:在`...