我的问题是我无法从菜单中调用bean的方法。
当我在下面进行操作时,页面不会将Logout显示为hlink,但是在加载注销后已经触发,我会在日志中看到它。与onclick
相同。
我尝试了h:commandLink
,但页面根本没有呈现,IDE也显示标记h:commandLink
未知。我究竟做错了什么?
我需要将注销填充为链接,而不是按钮。
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css" />
<title>Test</title>
</head>
<body>
<div id="container">
<div id="header">
<h1>Test</h1>
<h2>test</h2>
</div>
<div id="menu">
<ul>
<li class="menuitem"><a href="#">Home</a></li>
<li><a href="#{loginBean.logout}">logout</a></li>
</ul>
<b>Welcome, #{loginBean.userName}</b>
</div>
</div>
</body>
答案 0 :(得分:1)
<h:commandLink action = "#{loginBean.userName}>
它会起作用。我认为h:commandLink是未知的,因为你忘了在xhtml页面的顶部声明h标签。此h标记包含JavaServer Faces规范中定义的所有UIComponent + HTML RenderKit Renderer组合的JavaServer Faces组件标记。