必须先为项目添加JSF能力并启用Facelets支持,否则.xhtml文件无法被FacesServlet识别和编译;具体步骤包括:创建Dynamic Web项目时勾选JavaServer Faces、右键项目添加JSF Capabilities并勾选Add Facelets Support、新建XHTML页面、配置web.xml中*.xhtml映射、部署运行验证。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在MyEclipse中创建可直接运行的JSF页面并启用Facelets视图技术,必须先确保项目具备JSF能力且正确绑定XHTML解析器,否则新建的.xhtml文件会被当作普通文本处理,无法触发Facelets编译和JSF生命周期。
创建支持JSF的Dynamic Web项目
打开MyEclipse → File → New → Dynamic Web Project → 输入项目名(如jsf-demo)→ 点击Next两次 → 在“Configuration”旁点Modify… → 勾选【JavaServer Faces】 → 点击OK → 勾选Generate web.xml deployment descriptor → Finish。
这一步会自动向web.xml注入FacesServlet配置和faces-config.xml骨架。若跳过勾选JSF,后续添加Facelets将失效,因为Facelets依赖JSF容器初始化。
为项目添加Facelets支持
右键项目 → MyEclipse → Add JSF Capabilities → 保持默认JSF版本(如2.3)→ Next → 勾选【Add Facelets Support】 → Finish。
该操作会在WEB-INF目录下生成facelets-config.xml(或修改web.xml添加*.xhtml映射),同时将facelets-api.jar、facelets-impl.jar等加入构建路径。不勾选此项,新建的index.xhtml将无法被FacesServlet识别,浏览器访问时返回404或原始源码。
创建首个Facelets页面
在WebContent目录下右键 → New → Other → MyEclipse Web → XHTML Page → 输入文件名index.xhtml → 模板选择New XHTML (1.0 transitional) → Finish。
此时编辑器应显示XHTML结构,且顶部有Facelets设计视图标签页。若仍显示JSP编辑器或无Design/Source双模式,请检查上一步是否成功执行——常见失败原因是项目未正确关联JSF Facet。
在Source视图中,将默认内容替换为:
DMap GL地图JSAPI(dmapgl)开发指南。用于编写、审查、调试 DMap 地图 API 代码,涵盖地图初始化、覆盖物渲染、图层管理、事件处理、控件交互等任务。当用户提及 dmap、dmapgl、jsapi‑gl 或相关地图开发需求时自动触发。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:head>
<title>Hello Facelets</title>
</h:head>
<h:body>
<h:outputText value="Welcome to JSF with Facelets!" />
</h:body>
</html>
保存文件。注意命名必须以.xhtml结尾,且必须使用h:命名空间前缀,否则Facelets引擎无法解析组件。
配置URL映射使.xhtml可直接访问
打开WEB-INF/web.xml → 找到<servlet-mapping>节点 → 确保<url-pattern>包含*.xhtml(而非仅*.faces或/faces/*)。
若原配置只有<url-pattern>*.faces</url-pattern>,需手动添加一行:
<url-pattern>*.xhtml</url-pattern>
这是关键一步:Facelets默认通过.xhtml后缀触发,不配置该映射,浏览器请求index.xhtml时不会进入FacesServlet,页面将作为静态文件返回,JSF标签完全不生效。
部署并验证页面运行
右键项目 → Run As → Run on Server → 选择已配置的Tomcat或WildFly → Finish。
等待服务器启动完成,在浏览器地址栏输入http://localhost:8080/jsf-demo/index.xhtml → 页面显示"Welcome to JSF with Facelets!"即表示Facelets页面成功加载并渲染。

















