the issue is mixing html markup w/ JSF components
On 3/5/07, James Gardener <[EMAIL PROTECTED]> wrote:
Hi all,
I am implementing a project using tiles with myfaces. I can successfully
run the sample myfaces-1.0.7-tiles-example, but I am having a lot of
problems when turing this sample into a more complex implementation.
Here is my layout:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="f" uri ="http://java.sun.com/jsf/core" %>
<%@ taglib prefix="h" uri ="http://java.sun.com/jsf/html" %>
<%@ taglib prefix="tiles"
uri="http://struts.apache.org/tags-tiles"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;CHARSET=iso-8859-1" />
<link rel="stylesheet" type="text/css" href= "css/basic.css" />
</head>
<body>
<f:view>
<div id="level0" >
<div id="level1" >
<div id="topBar" >
<f:subview id="header" >
<tiles:insert attribute= "header" flush="false"/>
</f:subview>
</div>
<div id="level2" >
<f:subview id="content" >
<tiles:insert attribute= "body" flush="false"/>
</f:subview>
</div>
</div>
</div>
</f:view>
</body>
</html>
Here is my tiles-def.xml
<tiles-definitions>
<definition name="main.layout "
path="/jsp/template/basicLayout.jsp">
<put name="header" value="/jsp/common/adminHeader.jsp" />
</definition>
<definition name="/login.tiles" extends="main.layout">
<put name="body" value="/jsp/admin/login.jsp" />
</definition>
<tiles-definitions>
Here is the adminHeader.jsp:
<%@ taglib uri="http://java.sun.com/jsf/html " prefix="h"%>
<h:graphicImage id="logo" url="/image/logo.jpg" /
Here is the page login.jsp
<%@ taglib prefix="f" uri ="http://java.sun.com/jsf/core" %>
<%@ taglib prefix="h" uri ="http://java.sun.com/jsf/html" %>
<h:form id="loginForm" >
<table align="center" >
<tr>
<td style="padding:20" >
<table>
<tr>
<td align="right" >
<h:outputText value="UserId" />
</td>
<td align="left" >
<h:inputText value="#{userAdminBean.userId }" id="userId" required= "true"/>
<h:message styleClass="errorMessage" for="userId"/>
</td>
</tr>
<tr>
<td align="right" >
<h:outputText value="Password" />
</td>
<td align="left" >
<h:inputSecret value="#{userAdminBean.password }" id="password" required=
"true"/>
<h:message styleClass="errorMessage" for="password"/>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<h:commandButton value="Login" action="#{userAdminBean.loginAction}"/>
</td>
</tr>
<tr >
<td colspan="2" align="center">
<h:messages errorClass="errorMessage" globalOnly="true"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</h:form>
When I type http://localhost:8080/myApp/login.jsf,
everything is deplayed, but the layout is messed out. userid + userid
textfield + password + passwordfield + login button are all displayed in
only single row. If I don't use tiles, all the above fields are displayed
row by row, which is correct.
Can anyone please tell me if I did anything wrong. I am desperately need
your help.
Thanks,
James
--
Matthias Wessendorf
http://tinyurl.com/fmywh
further stuff:
blog: http://jroller.com/page/mwessendorf
mail: mwessendorf-at-gmail-dot-com