JSF HTML标签教程一口气讲完!(下)
JSF OutputScript示例
JSF教程 - JSF OutputScript示例
h:outputScript标记渲染类型为“script"的HTML元素,类型为“text/javascript"。
此标记将外部JavaScript文件添加到JSF页面。
以下JSF标记
<h:outputScript library="js" name="help.js" />
被渲染为以下HTML代码。
<script type="text/javascript" src="/helloworld/javax.faces.resource/help.js.jsf?ln=js"></script>
例子
以下代码来自common.js。
document.write("www.w3cschool.cn");
下面的代码来自UserBean.java。
package cn.w3cschool.common;import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped;@ManagedBean(name="user") @SessionScoped public class UserBean{}
以下代码来自demo.xhtml。
<?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://java.sun.com/jsf/html"><h:head></h:head><h:body><h:outputScript library="js" name="common.js" target="head" /></h:body></html>
下载 OutputScript.zip
运行
将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。
Tomcat完成启动后,在浏览器地址栏中键入以下URL。
http://localhost:8080/simple-webapp/demo.xhtml
JSF 表单命令按钮示例
JSF教程 - JSF表单命令按钮示例
h:commandButton标签渲染类型为“submit"的HTML输入元素。
下面的JSF代码
<h:commandButton value="Click Me!" οnclick="alert("Hello World!");" />
被渲染成以下HTML代码。
<input type="submit" name="j_idt10:j_idt13" value="Click Me!"οnclick="alert("Hello World!");" />
标签属性
属性 | 描述 |
---|---|
id | 标签的标识 |
rendered | 布尔值; false将抑制渲染 |
styleClass | 级联样式表(CSS)类名称 |
value | 值绑定 |
valueChangeListener | 响应值更改的方法绑定 |
required | 布尔值; 如果为true,则根据需要标记标签 |
coords | 形状为矩形,圆形或多边形的元素的坐标 |
dir | 文本的方向。 有效值为 ltr (从左到右)和 rtl (从右到左)。 |
disabled | 输入元素或按钮的禁用状态 |
style | 内联样式信息 |
tabindex | 指定制表符索引的数值 |
target | 打开文档的框架的名称 |
title | 用于辅助功能的标题。 浏览器通常为标题的值创建工具提示 |
width | 元素的宽度 |
onblur | 失去焦点的事件处理程序 |
onchange | 值更改的事件处理程序 |
onclick | 鼠标按钮的事件处理程序点击该元素 |
ondblclick | 双击鼠标按钮的事件处理程序 |
onfocus | 元素接收焦点的事件处理程序 |
onkeydown | 按键的事件处理程序 |
onkeypress | 键按下并释放的事件处理程序 |
onkeyup | Key的事件处理程序发布 |
onmousedown | 鼠标按钮的事件处理程序 |
onmousemove | 鼠标移动的事件处理程序 |
onmouseout | 鼠标左的事件处理程序 |
onmouseover | 鼠标移动到的事件处理程序 |
onmouseup | 释放鼠标按钮的事件处理程序 |
onreset | 表单重置的事件处理程序 |
onselect | 选择文本的事件处理程序 |
例子
以下代码来自login.xhtml。
<?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://java.sun.com/jsf/html"><h:body><h1>login.xhtml</h1></h:body></html>
下面的代码来自UserBean.java。
package cn.w3cschool.common;import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped;@ManagedBean(name="user") @SessionScoped public class UserBean{public String goLoginPage(){return "login";} }
以下代码来自demo.xhtml。
<?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://java.sun.com/jsf/html"><h:head></h:head><h:body><h1>JSF 2 button and commandButton example</h1><h:form><ol><li><h:commandButton value="submit" type="submit" action="#{user.goLoginPage}" /></li><li><h:commandButton value="reset" type="reset" /></li><li><h:commandButton value="button" type="button" /></li><li><h:commandButton value="Click Me" type="button" οnclick="alert("h:commandButton");" /></li><li><h:button value="buton" /></li><li><h:button value="Click Me" οnclick="alert("h:button");" /></li><li><h:button value="buton" outcome="login" /></li></ol></h:form></h:body></html>
下载 Form_CommandButton.zip
运行
将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。
Tomcat完成启动后,在浏览器地址栏中键入以下URL。
http://localhost:8080/simple-webapp/demo.xhtml
JSF 链接示例
JSF教程 - JSF链接示例
h:Link标签渲染一个HTML“anchor"元素。
以下JSF标记
<h:link value="Page 1" outcome="page1" />
被渲染为以下HTML代码
<a href="/helloworld/page1.jsf">Page 1</a>
标签属性
属性 | 描述 |
---|---|
id | 标签的标识 |
binding | 引用在backing bean中使用的组件 |
rendered | 布尔值; false将抑制渲染 |
styleClass | 级联样式表(CSS)类名称 |
value | 值绑定 |
valueChangeListener | 响应值更改的方法绑定 |
converter | 转换器类名 |
validator | 附加到组件的验证器的类名 |
required | 布尔值; 如果为true,则根据需要标记标签 |
accesskey | 给予一个元素的焦点 |
accept | 表单的内容类型的逗号分隔列表 |
accept-charset | 表单的字符编码的逗号或空格分隔列表。 |
alt | 非文字元素(例如图片)的替代文字 |
border | 元素的边框宽度的像素值 |
charset | 链接资源的字符编码 |
coords | 形状为矩形,圆形或多边形的元素的坐标 |
dir | 文本的方向。 有效值为 ltr (从左到右)和 rtl (从右到左)。 |
hreflang | 使用 href 属性指定的资源的基本语言; |
lang | 元素的属性和文本的基本语言 |
maxlength | 文本字段的最大字符数 |
readonly | 输入字段的只读状态 |
rel | 当前页面和链接页面之间的关系 |
rev | 将从 href 指定的锚点反向链接到当前文档。 |
style | 内联样式信息 |
tabindex | 指定制表符索引的数值 |
target | 打开文档的框架的名称 |
title | 用于辅助功能的标题。 浏览器通常为标题的值创建工具提示 |
type | 链接类型; 例如样式表 |
width | 元素的宽度 |
onblur | 失去焦点的事件处理程序 |
onchange | 值更改的事件处理程序 |
onclick | 鼠标按钮的事件处理程序点击该元素 |
ondblclick | 双击鼠标按钮的事件处理程序 |
onfocus | 元素接收焦点的事件处理程序 |
onkeydown | 按键的事件处理程序 |
onkeypress | 键按下并释放的事件处理程序 |
onkeyup | Key的事件处理程序发布 |
onmousedown | 鼠标按钮的事件处理程序 |
onmousemove | 鼠标移动的事件处理程序 |
onmouseout | 鼠标左的事件处理程序 |
onmouseover | 鼠标移动到的事件处理程序 |
onmouseup | 释放鼠标按钮的事件处理程序 |
onreset | 表单重置的事件处理程序 |
onselect | 选择文本的事件处理程序 |
例子
以下代码来自demo.xhtml。
<?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://java.sun.com/jsf/html"xmlns:f="http://java.sun.com/jsf/core"><h:body><h:form><h:link value="Login page" outcome="login" /><br/><h:link value="Login page + Param " outcome="login" ><f:param name="username" value="mkyong" /></h:link><br/><h:link outcome="login" ><h:graphicImage library="images" name="myImage.png" /></h:link><br/><h:commandLink value="Login page" /><br/><h:commandLink action="#{user.goLoginPage}" value="Login page" /><br/><h:commandLink action="#{user.goLoginPage}" value="Login page + Param "><f:param name="username" value="mkyong" /></h:commandLink><br/><h:commandLink action="#{user.goLoginPage}"><h:graphicImage library="images" name="myImage.png" /></h:commandLink><br/><h:outputLink>Login page</h:outputLink><br/><h:outputLink value="login.xhtml" >Login page</h:outputLink><br/><h:outputLink value="login.xhtml"><h:outputText value="Login page" /><f:param name="username" value="www.w3cschool.cn" /></h:outputLink><br/><h:outputLink value="login.xhtml"><h:graphicImage library="images" name="myImage.png" /></h:outputLink></h:form></h:body> </html>
下面的代码来自UserBean.java。
package cn.w3cschool.common;import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped;@ManagedBean(name="user") @SessionScoped public class UserBean{public String goLoginPage(){return "login";} }
以下代码来自login.xhtml。
<?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://java.sun.com/jsf/html"><h:body><h1>login.xhtml</h1></h:body></html>
下载 Link-commandLink-outputLink.zip
运行
将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。
Tomcat完成启动后,在浏览器地址栏中键入以下URL。
http://localhost:8080/simple-webapp/demo.xhtml
JSF 命令链接
JSF教程 - JSF命令链接
h:commandLink标签渲染一个HTML“anchor"元素。
以下JSF标记
<h:commandLink value="Page 1" action="page1" />
被渲染为以下HTML代码
<a href="#" οnclick="mojarra.jsfcljs(document.getElementById("j_idt13"), {"j_idt13:j_idt14":"j_idt13:j_idt14"},"");return false">Page 1</a>
标签属性
属性 | 描述 |
---|---|
id | 标签的标识 |
binding | 引用在backing bean中使用的组件 |
rendered | 布尔值; false将抑制渲染 |
styleClass | 级联样式表(CSS)类名称 |
value | 值绑定 |
valueChangeListener | 响应值更改的方法绑定 |
converter | 转换器类名 |
validator | 附加到组件的验证器的类名 |
required | 布尔值; 如果为true,则根据需要标记标签 |
accesskey | 给予一个元素的焦点 |
accept | 表单的内容类型的逗号分隔列表 |
accept-charset | 表单的字符编码的逗号或空格分隔列表。 |
alt | 非文字元素(例如图片)的替代文字 |
border | 元素的边框宽度的像素值 |
charset | 链接资源的字符编码 |
coords | 形状为矩形,圆形或多边形的元素的坐标 |
dir | 文本的方向。 有效值为 ltr (从左到右)和 rtl (从右到左)。 |
hreflang | 使用 href 属性指定的资源的基本语言; |
lang | 元素的属性和文本的基本语言 |
maxlength | 文本字段的最大字符数 |
readonly | 输入字段的只读状态 |
rel | 当前页面和链接页面之间的关系 |
rev | 将从 href 指定的锚点反向链接到当前文档。 |
style | 内联样式信息 |
tabindex | 指定制表符索引的数值 |
target | 打开文档的框架的名称 |
title | 用于辅助功能的标题。 浏览器通常为标题的值创建工具提示 |
type | 链接类型; 例如样式表 |
width | 元素的宽度 |
onblur | 失去焦点的事件处理程序 |
onchange | 值更改的事件处理程序 |
onclick | 鼠标按钮的事件处理程序点击该元素 |
ondblclick | 双击鼠标按钮的事件处理程序 |
onfocus | 元素接收焦点的事件处理程序 |
onkeydown | 按键的事件处理程序 |
onkeypress | 键按下并释放的事件处理程序 |
onkeyup | Key的事件处理程序发布 |
onmousedown | 鼠标按钮的事件处理程序 |
onmousemove | 鼠标移动的事件处理程序 |
onmouseout | 鼠标左的事件处理程序 |
onmouseover | 鼠标移动到的事件处理程序 |
onmouseup | 释放鼠标按钮的事件处理程序 |
onreset | 表单重置的事件处理程序 |
onselect | 选择文本的事件处理程序 |
例子
以下代码来自demo.xhtml。
<?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://java.sun.com/jsf/html"xmlns:f="http://java.sun.com/jsf/core"><h:body><h:form><h:link value="Login page" outcome="login" /><br/><h:link value="Login page + Param " outcome="login" ><f:param name="username" value="mkyong" /></h:link><br/><h:link outcome="login" ><h:graphicImage library="images" name="myImage.png" /></h:link><br/><h:commandLink value="Login page" /><br/><h:commandLink action="#{user.goLoginPage}" value="Login page" /><br/><h:commandLink action="#{user.goLoginPage}" value="Login page + Param "><f:param name="username" value="mkyong" /></h:commandLink><br/><h:commandLink action="#{user.goLoginPage}"><h:graphicImage library="images" name="myImage.png" /></h:commandLink><br/><h:outputLink>Login page</h:outputLink><br/><h:outputLink value="login.xhtml" >Login page</h:outputLink><br/><h:outputLink value="login.xhtml"><h:outputText value="Login page" /><f:param name="username" value="www.w3cschool.cn" /></h:outputLink><br/><h:outputLink value="login.xhtml"><h:graphicImage library="images" name="myImage.png" /></h:outputLink></h:form></h:body> </html>
下面的代码来自UserBean.java。
package cn.w3cschool.common;import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped;@ManagedBean(name="user") @SessionScoped public class UserBean{public String goLoginPage(){return "login";} }
以下代码来自login.xhtml。
<?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://java.sun.com/jsf/html"><h:body><h1>login.xhtml</h1></h:body></html>
下载 Link-commandLink-outputLink.zip
运行
将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。
Tomcat完成启动后,在浏览器地址栏中键入以下URL。
http://localhost:8080/simple-webapp/demo.xhtml
JSF 输出链接
JSF教程 - JSF输出链接
h:outputLink标签渲染一个HTML“anchor"元素。
以下JSF标记
<h:outputLink value="page1.jsf" >Page 1</h:outputLink>
将渲染为以下HTML标记。
<a href="page1.jsf">Page 1</a>
标签属性
属性 | 描述 |
---|---|
id | 标签的标识 |
binding | 引用在backing bean中使用的组件 |
rendered | 布尔值; false将抑制渲染 |
styleClass | 级联样式表(CSS)类名称 |
value | 值绑定 |
valueChangeListener | 响应值更改的方法绑定 |
converter | 转换器类名 |
validator | 附加到组件的验证器的类名 |
required | 布尔值; 如果为true,则根据需要标记标签 |
accesskey | 给予一个元素的焦点 |
accept | 表单的内容类型的逗号分隔列表 |
accept-charset | 表单的字符编码的逗号或空格分隔列表。 |
alt | 非文字元素(例如图片)的替代文字 |
border | 元素的边框宽度的像素值 |
charset | 链接资源的字符编码 |
coords | 形状为矩形,圆形或多边形的元素的坐标 |
dir | 文本的方向。 有效值为 ltr (从左到右)和 rtl (从右到左)。 |
hreflang | 使用 href 属性指定的资源的基本语言; |
lang | 元素的属性和文本的基本语言 |
maxlength | 文本字段的最大字符数 |
readonly | 输入字段的只读状态 |
rel | 当前页面和链接页面之间的关系 |
rev | 将从 href 指定的锚点反向链接到当前文档。 |
style | 内联样式信息 |
tabindex | 指定制表符索引的数值 |
target | 打开文档的框架的名称 |
title | 用于辅助功能的标题。 浏览器通常为标题的值创建工具提示 |
type | 链接类型; 例如样式表 |
width | 元素的宽度 |
onblur | 失去焦点的事件处理程序 |
onchange | 值更改的事件处理程序 |
onclick | 鼠标按钮的事件处理程序点击该元素 |
ondblclick | 双击鼠标按钮的事件处理程序 |
onfocus | 元素接收焦点的事件处理程序 |
onkeydown | 按键的事件处理程序 |
onkeypress | 键按下并释放的事件处理程序 |
onkeyup | Key的事件处理程序发布 |
onmousedown | 鼠标按钮的事件处理程序 |
onmousemove | 鼠标移动的事件处理程序 |
onmouseout | 鼠标左的事件处理程序 |
onmouseover | 鼠标移动到的事件处理程序 |
onmouseup | 释放鼠标按钮的事件处理程序 |
onreset | 表单重置的事件处理程序 |
onselect | 选择文本的事件处理程序 |
例子
以下代码来自demo.xhtml。
<?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://java.sun.com/jsf/html"xmlns:f="http://java.sun.com/jsf/core"><h:body><h:form><h:link value="Login page" outcome="login" /><br/><h:link value="Login page + Param " outcome="login" ><f:param name="username" value="mkyong" /></h:link><br/><h:link outcome="login" ><h:graphicImage library="images" name="myImage.png" /></h:link><br/><h:commandLink value="Login page" /><br/><h:commandLink action="#{user.goLoginPage}" value="Login page" /><br/><h:commandLink action="#{user.goLoginPage}" value="Login page + Param "><f:param name="username" value="mkyong" /></h:commandLink><br/><h:commandLink action="#{user.goLoginPage}"><h:graphicImage library="images" name="myImage.png" /></h:commandLink><br/><h:outputLink>Login page</h:outputLink><br/><h:outputLink value="login.xhtml" >Login page</h:outputLink><br/><h:outputLink value="login.xhtml"><h:outputText value="Login page" /><f:param name="username" value="www.w3cschool.cn" /></h:outputLink><br/><h:outputLink value="login.xhtml"><h:graphicImage library="images" name="myImage.png" /></h:outputLink></h:form></h:body> </html>
下面的代码来自UserBean.java。
package cn.w3cschool.common;import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped;@ManagedBean(name="user") @SessionScoped public class UserBean{public String goLoginPage(){return "login";} }
以下代码来自login.xhtml。
<?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://java.sun.com/jsf/html"><h:body><h1>login.xhtml</h1></h:body></html>
下载 Link-commandLink-outputLink.zip
运行
将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。
Tomcat完成启动后,在浏览器地址栏中键入以下URL。
http://localhost:8080/simple-webapp/demo.xhtml
JSF 相对应消息标记
JSF教程 - JSF相对应消息标记
h:message标记显示与UI元素相对应的消息。
以下JSF标记
<h:inputText id="username" size="20" label="UserName" required="true"><f:validateLength for="username" minimum="5" maximum="20" /> </h:inputText><h:message for="username" style="color:red" />
如果输入超过20个字符。
<span style="color:red">UserName: Validation Error: Length is greater than allowable maximum of "20"</span>
如果输入小于5个字符。
<span style="color:red">UserName: Validation Error: Length is less than allowable minimum of "5"</span>
如果未输入输入字段。
<span style="color:red">UserName: Validation Error: Value is required</span>
标签属性
属性 | 描述 |
---|---|
id | 标签的标识 |
binding | 引用在backing bean中使用的组件 |
rendered | 布尔值; false将抑制渲染 |
styleClass | 级联样式表(CSS)类名称 |
for | 显示消息的组件ID |
errorClass | 应用于错误消息的CSS类 |
errorStyle | CSS样式应用于错误消息 |
fatalClass | CSS类应用于致命消息 |
fatalStyle | CSS样式应用于致命消息 |
globalOnly | 仅显示全局消息的指令。 默认值:false |
infoClass | CSS类应用于信息消息 |
infoStyle | CSS样式应用于信息消息 |
layout | 消息布局规范:表或列表 |
showDetail | 确定是否显示邮件详细信息的布尔值。 h:messages的默认值为false,h:message的默认值为true |
showSummary | 确定是否显示消息摘要的布尔值。h:messages的默认值为true,h:message的值为false |
tooltip | 一个布尔值,用于设置是否在工具提示中呈现消息详细信息;仅当showDetail和showSummary为true时才会呈现工具提示 |
warnClass | 警告消息的CSS类 |
warnStyle | CSS样式的警告消息 |
style | 内联样式信息 |
title | 用于辅助功能的标题。 浏览器通常为标题的值创建工具提示 |
例子
以下代码来自demo.xhtml。
<?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://java.sun.com/jsf/html"xmlns:f="http://java.sun.com/jsf/core"xmlns:ui="http://java.sun.com/jsf/facelets"><h:body><h:form><h:messages style="color:red;margin:8px;" /><br /><h:panelGrid columns="3">Enter your username :<h:inputText id="username" value="#{user.username}" size="20" required="true"label="UserName" ><f:validateLength minimum="5" maximum="10" /></h:inputText><h:message for="username" style="color:red" />Enter your age :<h:inputText id="age" value="#{user.age}" size="20" required="true"label="Age" ><f:validateLongRange for="age" minimum="1" maximum="200" /></h:inputText><h:message for="age" style="color:red" /></h:panelGrid><h:commandButton value="Submit" action="result" /></h:form></h:body> </html>
下面的代码来自UserBean.java。
package cn.w3cschool.common;import java.io.Serializable; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped;@ManagedBean(name="user") @SessionScoped public class UserBean implements Serializable{private static final long serialVersionUID = 1L;public String username;public int age;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}
以下代码来自result.xhtml。
<?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://java.sun.com/jsf/html"><h:body>Username : #{user.username}<br />Age : #{user.age}</h:body> </html>
下载 Message_Tag.zip
运行
将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。
Tomcat完成启动后,在浏览器地址栏中键入以下URL。
http://localhost:8080/simple-webapp/demo.xhtml
JSF 所有消息标记
JSF教程 - JSF所有消息标记
h:messages标记在与UI元素对应的一个地方显示所有消息。
以下JSF标记
<h:messages style="color:red;margin:8px;" />
如果输入的用户名超过20个字符,输入的密码小于5个字符。
<ul style="color:red;margin:8px;"><li> UserName: Validation Error: Length is greater than allowable maximum of "20" </li><li> Password: Validation Error: Length is less than allowable minimum of "5" </li> </ul>
标签属性
属性 | 描述 |
---|---|
id | 标签的标识 |
binding | 引用在backing bean中使用的组件 |
rendered | 布尔值; false将抑制渲染 |
styleClass | 级联样式表(CSS)类名称 |
for | 显示消息的组件ID |
errorClass | 应用于错误消息的CSS类 |
errorStyle | CSS样式应用于错误消息 |
fatalClass | CSS类应用于致命消息 |
fatalStyle | CSS样式应用于致命消息 |
globalOnly | 仅显示全局消息的指令。 默认值:false |
infoClass | CSS类应用于信息消息 |
infoStyle | CSS样式应用于信息消息 |
layout | 消息布局规范:表或列表 |
showDetail | 确定是否显示邮件详细信息的布尔值。h:messages的默认值为false,h:message的默认值为true |
showSummary | 确定是否显示消息摘要的布尔值。h:messages的默认值为true,h:message的值为false |
tooltip | 一个布尔值,用于设置是否在工具提示中呈现消息详细信息;仅当showDetail和showSummary为true时才会呈现工具提示 |
warnClass | 警告消息的CSS类 |
warnStyle | CSS样式的警告消息 |
style | 内联样式信息 |
title | 用于辅助功能的标题。 浏览器通常为标题的值创建工具提示 |
例子
以下代码来自demo.xhtml。
<?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://java.sun.com/jsf/html"xmlns:f="http://java.sun.com/jsf/core"xmlns:ui="http://java.sun.com/jsf/facelets"><h:body><h:form><h:messages style="color:red;margin:8px;" /><br /><h:panelGrid columns="3">Enter your username :<h:inputText id="username" value="#{user.username}" size="20" required="true"label="UserName" ><f:validateLength minimum="5" maximum="10" /></h:inputText><h:message for="username" style="color:red" />Enter your age :<h:inputText id="age" value="#{user.age}" size="20" required="true"label="Age" ><f:validateLongRange for="age" minimum="1" maximum="200" /></h:inputText><h:message for="age" style="color:red" /></h:panelGrid><h:commandButton value="Submit" action="result" /></h:form></h:body> </html>
下面的代码来自UserBean.java。
package cn.w3cschool.common;import java.io.Serializable; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped;@ManagedBean(name="user") @SessionScoped public class UserBean implements Serializable{private static final long serialVersionUID = 1L;public String username;public int age;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}
以下代码来自result.xhtml。
<?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://java.sun.com/jsf/html"><h:body>Username : #{user.username}<br />Age : #{user.age}</h:body> </html>
下载 Message_Tag.zip
运行
将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。
Tomcat完成启动后,在浏览器地址栏中键入以下URL。
http://localhost:8080/simple-webapp/demo.xhtml
JSF PanelGrid示例
JSF教程 - JSF PanelGrid示例
h:panelGrid标记渲染一个HTML“table"元素。
以下JSF标记
<h:panelGrid id="panel" columns="2" border="1"cellpadding="10" cellspacing="1"><f:facet name="header"><h:outputText value="Login"/></f:facet><h:outputLabel value="Username" /><h:inputText /><h:outputLabel value="Password" /><h:inputSecret /><f:facet name="footer"><h:panelGroup style="display:block; text-align:center"><h:commandButton id="submit" value="Submit" /></h:panelGroup></f:facet> </h:panelGrid>
将渲染为以下HTML标记。
<table id="j_idt10:panel" border="1" cellpadding="10" cellspacing="1"> <thead><tr><th colspan="2" scope="colgroup">Login</th></tr> </thead> <tfoot><tr><td colspan="2"><span style="display:block; text-align:center"><input id="j_idt10:submit" type="submit"name="j_idt10:submit" value="Submit" /></span></td></tr> </tfoot> <tbody><tr><td><label>Username</label></td><td><input type="text" name="j_idt10:j_idt17" /></td></tr><tr><td><label>Password</label></td><td><input type="password" name="j_idt10:j_idt21" value="" /></td></tr> </tbody> </table>
标签属性
属性 | 描述 |
---|---|
id | 标签的标识 |
binding | 引用在backing bean中使用的组件 |
rendered | 布尔值; false将抑制渲染 |
styleClass | 级联样式表(CSS)类名称 |
value | 值绑定 |
bgcolor | 表的背景颜色 |
border | 表格边框的宽度 |
cellpadding | 表格单元周围的填充 |
cellspacing | 表格单元格之间的间距 |
columnClasses | 列的CSS类的逗号分隔列表 |
columns | 表中的列数 |
footerClass | 表的页脚的CSS类 |
frame | 框架框架侧面的规格 围绕要绘制的表格; 有效值: none,above,below,hsides,vsides,lhs,rhs,box,border |
headerClass | 表头的CSS类 |
rowClasses | 列的CSS类的逗号分隔列表 |
rules | 细胞之间画线的规格; 有效值:组,行,列,全部 |
summary | 表的摘要“使用的目的和结构 用于诸如语音的非视觉反馈 |
dir | 文本的方向。 有效值为 ltr (从左到右)和 rtl (从右到左)。 |
lang | 元素的属性和文本的基本语言 |
border | 元素的边框宽度的像素值 |
lang | 元素的属性和文本的基本语言 |
title | 用于辅助功能的标题。 浏览器通常为标题的值创建工具提示 |
width | 元素的宽度 |
onblur | 失去焦点的事件处理程序 |
onchange | 值更改的事件处理程序 |
onclick | 鼠标按钮的事件处理程序点击该元素 |
ondblclick | 双击鼠标按钮的事件处理程序 |
onfocus | 元素接收焦点的事件处理程序 |
onkeydown | 按键的事件处理程序 |
onkeypress | 键按下并释放的事件处理程序 |
onkeyup | Key的事件处理程序发布 |
onmousedown | 鼠标按钮的事件处理程序 |
onmousemove | 鼠标移动的事件处理程序 |
onmouseout | 鼠标左的事件处理程序 |
onmouseover | 鼠标移动到的事件处理程序 |
onmouseup | 释放鼠标按钮的事件处理程序 |
例子
以下代码来自result.xhtml。
<?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://java.sun.com/jsf/html"xmlns:f="http://java.sun.com/jsf/core"xmlns:c="http://java.sun.com/jsp/jstl/core"><h:body>Number : <h:outputText value="#{user.number}" /></h:body> </html>
以下代码来自demo.xhtml。
<?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://java.sun.com/jsf/html"xmlns:f="http://java.sun.com/jsf/core"xmlns:c="http://java.sun.com/jsp/jstl/core"><h:body><h:form><h:panelGrid columns="3">Enter a number : <h:inputText id="number" value="#{user.number}" size="20" required="true"label="Number" ><f:convertNumber /></h:inputText><h:message for="number" style="color:red" /></h:panelGrid><h:commandButton value="Submit" action="result" /></h:form></h:body> </html>
下面的代码来自UserBean.java。
package cn.w3cschool.common;import java.io.Serializable; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped;@ManagedBean(name="user") @SessionScoped public class UserBean implements Serializable{int number;public int getNumber() {return number;}public void setNumber(int number) {this.number = number;}}
下载 PanelGrid.zip
运行
将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。
Tomcat完成启动后,在浏览器地址栏中键入以下URL。
http://localhost:8080/simple-webapp/demo.xhtml
JSF 参数示例
JSF教程 - JSF参数示例
我们可以使用f:param标签将参数传递给组件或传递请求参数。
以下代码显示如何将参数传递到UI组件。
<h:outputFormat value="Hello {0}!."> <f:param value="World" /> </h:outputFormat>
以下代码传递请求参数及其名称。
<h:commandButton id="submit" value="Show Message" action="#{userData.showResult}"><f:param name="username" value="JSF 2.0 User" /> </h:commandButton>
标签属性
属性 | 描述 |
---|---|
id | 组件的标识符 |
binding | 引用可以在backing bean中使用的组件 |
name | 参数组件的可选名称 |
value | 存储在组件中的值 |
例子
以下代码来自demo.xhtml。
<?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://java.sun.com/jsf/html"xmlns:f="http://java.sun.com/jsf/core"><h:body><h:form id="form">Enter your name :<h:inputText size="10" value="#{user.name}" /><br /><br /><h:commandButton id="submitButton" value="Submit - US" action="#{user.outcome}"><f:param name="country" value="United States" /></h:commandButton></h:form></h:body> </html>
以下代码来自result.xhtml。
<?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://java.sun.com/jsf/html"xmlns:f="http://java.sun.com/jsf/core"><h:body><h3><h:outputFormat value="Hello,{0}. You are from {1}."><f:param value="#{user.name}" /><f:param value="#{user.country}" /></h:outputFormat></h3></h:body></html>
下面的代码来自UserBean.java。
package cn.w3cschool.common;import java.util.Map;import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.context.FacesContext;@ManagedBean(name="user") @SessionScoped public class UserBean{public String name;public String country;public String outcome(){FacesContext fc = FacesContext.getCurrentInstance();this.country = getCountryParam(fc);return "result";}//get value from "f:param"public String getCountryParam(FacesContext fc){Map<String,String> params = fc.getExternalContext().getRequestParameterMap();return params.get("country");}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getCountry() {return country;}public void setCountry(String country) {this.country = country;}}
下载 Param.zip
运行
将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder / bin / startup.bat。
Tomcat完成启动后,在浏览器地址栏中键入以下URL。
http://localhost:8080/simple-webapp/demo.xhtml
JSF 属性示例
JSF教程 - JSF属性示例
我们可以使用h:attribute标签将属性值传递给组件,或者通过动作侦听器将参数传递给组件。
以下代码显示如何使用h:attribute标签。
<h:commandButton id="submit" actionListener="#{userData.attributeListener}" action="result"> <f:attribute name="value" value="Show Message" /> <f:attribute name="username" value="JSF 2.0 User" /> </h:commandButton>
标签属性
属性 | 描述 |
---|---|
name | 要设置的属性的名称 |
value | 属性的值 |
例子
下面的代码来自UserBean.java。
package cn.w3cschool.common;import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.event.ActionEvent;@ManagedBean(name="user") @SessionScoped public class UserBean{public String nickname;public void attrListener(ActionEvent event){nickname = (String)event.getComponent().getAttributes().get("username");}public String outcome(){return "result";}public String getNickname() {return nickname;}public void setNickname(String nickname) {this.nickname = nickname;}}
以下代码来自demo.xhtml。
<?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://java.sun.com/jsf/html"xmlns:f="http://java.sun.com/jsf/core"><h:body><h:form id="form"><h:commandButton action="#{user.outcome}"actionListener="#{user.attrListener}"><f:attribute name="username" value="www.w3cschool.cn" /><f:attribute name="value" value="Click Me" /></h:commandButton></h:form></h:body> </html>
以下代码来自result.xhtml。
<?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://java.sun.com/jsf/html"><h:body>#{user.nickname}</h:body> </html>
下载 Attribute.zip
运行
将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。
Tomcat完成启动后,在浏览器地址栏中键入以下URL。
http://localhost:8080/simple-webapp/demo.xhtml
JSF setPropertyActionListener示例
JSF教程 - JSF setPropertyActionListener示例
h:setPropertyActionListener标记将一个操作监听器添加到将bean属性设置为给定值的组件。
以下代码显示如何使用 f:setPropertyActionListener
。
<h:commandButton id="submit" action="result" value="Show Message"> <f:setPropertyActionListener target="#{userData.data}" value="JSF 2.0 User" /> </h:commandButton>
例子
下面的代码来自UserBean.java。
package cn.w3cschool.common;import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped;@ManagedBean(name="user") @SessionScoped public class UserBean{public String username;public String outcome(){return "result";}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}}
以下代码来自result.xhtml。
<?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://java.sun.com/jsf/html"><h:body><h1>JSF 2 setPropertyActionListener example</h1>#{user.username}</h:body></html>
以下代码来自demo.xhtml。
<?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://java.sun.com/jsf/html"xmlns:f="http://java.sun.com/jsf/core"><h:body><h:form id="form"><h:commandButton action="#{user.outcome}" value="Click Me"><f:setPropertyActionListener target="#{user.username}" value="w3cschool" /></h:commandButton></h:form></h:body> </html>
下载 setPropertyActionListener.zip
运行
将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。
Tomcat完成启动后,在浏览器地址栏中键入以下URL。
http://localhost:8080/simple-webapp/demo.xhtml
相关文章:
JSF HTML标签教程一口气讲完!(下)
JSF OutputScript示例 JSF教程 - JSF OutputScript示例 h:outputScript标记渲染类型为“script"的HTML元素,类型为“text/javascript"。 此标记将外部JavaScript文件添加到JSF页面。 以下JSF标记 <h:outputScript library"js" name"…...
cmake报错The link interface of target “gRPC::grpc“ contains: OpenSSL::SSL 解决
系统环境:麒麟V10 报错描述: The link interface of target "gRPC::grpc" contains: OpenSSL::SSL but the target was not found. Possible reasons include: * There is a typo in the target name. * A find_package call is missing fo…...

C语言PythonBash:空白(空格、水平制表符、换行符)与转义字符
C语言 空白 C语言中的空白(空格、水平制表符、换行符)被用于分隔Token,因此Token间可以有任意多个空白。 // 例1 printf("Hello, World!"); 例1中存在5个Token,分别是: printf("Hello, World! \n&qu…...
【Python】轻松解析JSON与XML:Python标准库的json与xml模块
轻松解析JSON与XML:Python标准库的json与xml模块 在现代数据处理与交换中,JSON(JavaScript Object Notation)和XML(eXtensible Markup Language)是最常用的两种数据格式。它们广泛应用于API数据传输、配置…...

物联网对商业领域的影响
互联网彻底改变了通信方式,并跨越了因地理障碍造成的人与人之间的鸿沟。然而,物联网(IoT)的引入通过使设备能够连接到互联网,改变了设备的功能。想象一下,你的闹钟连接到互联网,并且能够用你的声…...

第16章 SELECT 底层执行原理
一、SELECT查询的完整结构 1.1 方式一(SQL 92语法) SELECT ..., ..., ... FROM ..., ..., ... WHERE 多表的连接条件 AND 不包含组函数的过滤条件 GROUP BY ..., ... HAVING 包含组函数的过滤条件 ORDER BY ... ASC/DESC LIMIT ..., ... 1.2 方式二&a…...
python查询日志,并组装sql,修复缺失的数据
前言 由于mysql链接超时波动,导致数据缺失,需要根据日志填补数据 流程 获取确实数据的订单列表 搜索日志,获取请求日志 根据请求日志拼装sql 打印sql供修复数据 代码 因为我们日志打印的有问题,所以这里用字符串截取获取入…...

RecyclerView进阶知识讲解
在 Android 开发中,RecyclerView 是一种高效的列表和网格布局控件,用于显示大规模数据。尽管基本使用方法简单,但深入理解并掌握其高级进阶用法能大幅提升用户体验和应用性能。下面,我将从布局管理、动画和手势、自定义缓存、优化…...

C语言 函数
时间:2024.11.10-11.11 一、学习内容 1、什么是函数 函数:程序中独立的功能。将反复书写的代码,又不确定什么时候回用到的代码打包起来。 2、函数的基本格式 函数的定义格式(写在main函数外) void 函数名() { 函数…...

windows中docker安装redis和redisinsight记录
创建一个Redis运行容器,命令如下 docker run -it -d --name redis -p 6379:6379 redis --bind 0.0.0.0 --protected-mode no -d 代表Redis容器后台运行 --name redis 给创建好的容器起名叫redis -p 6379:6379 将容器的6379端口映射到宿主机的6379端口,注…...

itextpdf打印A5的问题
使用A5打印的时候,再生成pdf是没有问题的。下面做了一个测试,在打印机中,使用A5的纸张横向放入,因为是家用打印机,A5与A4是同一个口,因此只能这么放。 使用itextpdf生成pdf,在浏览器中预览pdf是…...

qt QUndoView详解
1、概述 QUndoView 是 Qt 框架中用于显示 QUndoStack(撤销堆栈)内容的视图类。它通常与 QUndoStack 一起使用,为用户提供了一个可视化的界面来查看和操作撤销/重做历史。QUndoView 可以显示堆栈中的每个命令,并允许用户通过界面进…...
python+智谱AI-实现钉钉消息自动回复
python智谱AI-实现钉钉消息自动回复 实现了电脑窗口切换,截图识别未读消息,与语言模型交互后,将答案带入到钉钉窗口中。偷个懒,直接贴代码了,后续不断完善注释,如果遇到读不懂的地方,欢迎交流。…...

Kafka-Eagle的配置——kafka可视化界面
通过百度网盘分享的文件:kafka-eagle-bin-2.0.8.tar.gz 链接:https://pan.baidu.com/s/1H3YONkL97uXbLTPMZHrfdg?pwdsltu 提取码:sltu 一、界面展示 二、软件配置 1、关闭kafka集群 kf.sh stop 2、将该软件上传到/opt/modules下 cd /opt…...

【命令操作】Linux上带宽流量监控nethogs命令详解 _ 统信 _ 麒麟 _ 方德
原文链接:【命令操作】Linux上带宽流量监控nethogs命令详解 | 统信 | 麒麟 | 方德 Hello,大家好啊!今天带来一篇关于Linux上nethogs命令详解的文章。nethogs是一款非常实用的网络流量监控工具,帮助用户实时查看系统中每个进程的网…...

【入门篇】数字统计——多语言版
题目跳转:数字统计 题目解析: 这道题目要求统计在给定范围 [L, R] 内所有整数中数字 2 出现的次数。例如,在范围 [2, 22] 中,数字 2 分别在数 2、12、20、21、22 中出现的次数,最终出现了6次。 题目的输入为两个正…...
探索那些现代C++语法糖
本文来聊聊现代C的一些语法糖。 1.Auto auto x 10; // 推导为 int auto y 3.14; // 推导为 double2.范围-based for 循环 std::vector<int> v {1, 2, 3, 4, 5}; for (auto val : v) {std::cout << val << " "; }3.nullptr int* ptr nullpt…...
【LeetCode】【算法】33. 搜索旋转排序数组
LeetCode 33. 搜索旋转排序数组 题目描述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k…...
Python小游戏25——黄金矿工
首先,你需要安装Pygame库。 如果你还没有安装,可以使用以下命令进行安装: 【bash】 pip install pygame 【python】代码展示 import pygame import random # 初始化Pygame pygame.init() # 设置屏幕尺寸 screen_width 800 screen_height 60…...
WPF中Prism框架中 IContainerExtension 和 IRegionManager的作用
在Prism框架中,IContainerExtension和IRegionManager扮演着重要的角色,具体作用如下: IContainerExtension IContainerExtension接口是Prism 7中引入的,用于抽象依赖注入容器的操作。它实现了IContainerProvider和IContainerReg…...

label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...

Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...

python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...

JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...

华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...