java faces,JavaServer Faces 2.x 简介

response.xhtml

在编辑器中打开 response.xhtml 页。双击 "Projects"(项目)窗口中的 response.xhtml 节点,或者按 Alt-Shift-O 组合键以使用 "Go to File"(转至文件)对话框。

注释掉 HTML 窗体元素。突出显示 HTML

起始标记和结束标记及其之间的代码,然后按 Ctrl-/ 组合键(在 Mac 上为 ⌘-/ 组合键)。

*注:*要突出显示该表单元素,可以单击该元素,然后用鼠标在编辑器中拖动;也可以使用键盘,按住 Shift 键并按方向键。

取消 JSF HTML 窗体组件的注释。突出显示

起始标记和结束标记及其之间的代码,然后按 Ctrl-/ 组合键(在 Mac 上为 ⌘-/ 组合键)。

此时,

标记之间的代码如下所示:
[ response here ]

在取消 JSF HTML 窗体组件的注释后,编辑器将指示

和 标签未进行声明。

要声明这些组件,请使用 IDE 的代码完成将标记库名称空间添加到页面的 标记中。

使用编辑器的代码完成支持将所需的 JSF 名称空间添加到文件中。当通过代码完成选择一个 JSF 或 Facelets 标记时,会自动将所需的名称空间添加到文档的根元素中。有关详细信息,请参见 NetBeans IDE 中的 JSF 2.x 支持。

将光标置于任何未声明的标记上,然后按 Ctrl-空格组合键。将显示代码完成建议和文档支持。

code-completion2.png

Figure 20. 按 Ctrl-空格键调用代码完成建议和 "documentation"(文档)弹出式窗口

按 Enter 键。(如果有多个选项,请确保按 Enter 键之前选择了在编辑器中显示的标记。)JSF HTML 标记库名称空间将添加到 标记中(如以下*粗体*所示),并且错误指示符将消失。

*xmlns:h="http://xmlns.jcp.org/jsf/html"*>

为用户单击窗体按钮时调用的请求指定目标。您希望设置一个按钮以便当用户单击该按钮时,会返回到索引页。要完成此功能,请使用 commandButton 的 action 属性。键入以*粗体*显示的代码。

注:*通过键入 action="index",将可依赖 JSF 的隐式导航功能。当用户单击窗体按钮时,JSF 运行时会搜索一个名为 index 的文件。JSF 运行时将假定文件扩展名与请求源自的文件 (response.xhtml*) 所使用的扩展名相同,并在与源文件相同的目录(即 Web 根目录)中查找 index.xhtml 文件。

将静态的 "[ response here ]" 文本替换为 UserNumberBean 的 response 属性值。要执行此操作,请使用 JSF 表达式语言。输入以下内容(粗体)。

**

运行项目(单击 "Run Project"(运行项目)(run-project-btn.png) 按钮,或者按 F6;在 Mac 上按 fn-F6)。当浏览器中显示欢迎页面时,输入一个数字,然后单击 submit。将看到响应页显示类似于以下的内容(如果您没有猜对数字)。

response2.png

Figure 21. 在浏览器中查看项目的当前状态

响应页的当前状态中有两处错误:

html

标记显示在了响应消息中。

"Back" 按钮没有显示在正确的位置。(请与原始版本作比较。)

以下两个步骤分别更正了这两个问题。

将 标记的 escape 属性设置为 false。将光标置于 outputText 和 value 之间,插入一个空格,然后按 Ctrl-空格键调用代码完成。向下滚动以选择 escape 属性并检查文档。

escape-false.png

Figure 22. 按 Ctrl-空格键查看可能的属性值和文档

如文档所示,默认情况下,escape 值被设为 true。这意味着任何被正常解析为 html 的字符都包含在此字符串中,如上所示。将该值设置为 false,将使任何可解析为 html 的字符都像这样来呈现。

按 Enter 键,然后键入 false 作为值。

标记的 prependId 属性设置为 false。将光标置于 中 “m” 的后面并插入一个空格,然后按 Ctrl-空格键调用代码完成。向下滚动以选择 prependId 属性并检查文档。然后按 Enter 键,并键入 false 作为值。

JSF 应用内部 id 来跟踪 UI 组件。在当前的示例中,如果检查所呈现页面的源代码,将看到如下内容:

窗体元素的 id 为 j_idt5,并且此 id 被置于包含在窗体中的 "Back" 按钮的 ID 前面(如以上*粗体*显示)。因为 "Back" 按钮依赖于 #backButton 样式规则(在 stylesheet.css 中定义),所以在前置 JSF id 时,将禁用该规则。可以通过将 prependId 设置为 false 来避免这种情况。

再次运行项目(单击 "Run Project"(运行项目)(run-project-btn.png) 按钮,或者按 F6;在 Mac 上按 fn-F6)。在欢迎页面输入一个数字,然后单击 "Submit"。现在响应页显示了不带

标记的响应消息,并且 "Back" 按钮放在了正确的位置。

response3.png

Figure 23. 在浏览器中查看项目的当前状态

单击 "Back" 按钮。因为 UserNumberBean 的 userNumber 属性的当前值绑定到了 JSF inputText 组件,所以您之前输入的数字现在显示在文本字段中。

在 IDE 的 "Output"(输出)窗口中检查服务器日志(Ctrl-4 组合键;在 Mac 上为 ⌘-4 组合键),以确定正确的猜测数字是什么。

如果由于某种原因无法看到服务器日志,可以通过切换到 "Services"(服务)窗口(Ctrl-5 组合键;在 Mac 上为 ⌘-5 组合键)并展开 "Servers"(服务器)节点来打开日志。然后右键单击项目部署所在的 GlassFish Server,并选择 "View Server Log"(查看服务器日志)。如果在服务器日志中看不到该数字,请尝试通过右键单击项目节点并选择 "Clean and Build"(清理并构建)来重新构建应用程序。

键入正确的数字,然后单击 "Submit"。应用程序将您的输入与当前保存的数字进行比较,并显示相应的消息。

yay.png

Figure 24. 在输入匹配号时显示正确响应

再次单击 "Back" 按钮。请注意,以前输入的数字在文本字段中不再显示。回想一下,当猜对了数字后,UserNumberBean 的 getResponse() 方法就会使当前的用户会话失效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值