Ok, I've got most everything working. Combination of things mostly me
not know how to configure everything.
There is a problem though if you use tiger and subview. Only init()
will be called if the bean is marked session. If you mark it request
init and destroy will be called. The problem is in
org.apache.shale.component.SubView. Not really a problem per-say, but
tiger needs to implement something for subviews.
It ends up failling here after I set the id to a valid managed (by
tiger) bean that has the @View anotation. Since it's trying to cast it
to a ViewController it fails. After I added extends
AbstractViewController all the events were filed. Like wise if I didn't
use tiger it worked fine.
// Construct and initialize a new ViewController, if any is associated
String expr = "#{" + name + "}";
try {
vc = (ViewController) context.getApplication().
createValueBinding(expr).getValue(context);
if (vc == null) {
log.debug(messages.getMessage("subview.noBean",
new Object[] { getId() }));
return null;
}
Craig McClanahan wrote:
On 6/19/06, Marty Phee <[EMAIL PROTECTED]> wrote:
I'm using: shale, tiger, tiles.
Nothing like trying *all* the new stuff all at once :-).
How recent is the Shale build you are using? I ask because there were
recent (after 1.0.2) changes in how init and destroy get called such that
they should *always* happen. To cause the other callbacks to occur,
you'll
need to use <s:subview> tags around your <tiles:insert> tags. Also, I
haven't tested this particular combination, so if that fails on a current
build, then it's a bug we'll need to take a look at.
Craig
I have a layout with one of the tiles being AdminContent.jsp.
<!-- Doc index page description -->
<definition name="/admin/AdminMain"
path="/admin/layouts/mainLayout.jsp">
<put name="header" value="/admin/tiles/header.jsp" />
<put name="menu" value="/admin/tiles/MainMenu.jsp" />
<put name="monitor" value="/admin/tiles/DSLMonitor.jsp" />
<put name="content" value="/admin/tiles/AdminContent.jsp" />
<put name="messages" value="/admin/tiles/Messages.jsp" />
</definition>
I have a backing bean bean.AdminContent which is also declared as a
@View.
@Bean(name="AdminContent", scope= Scope.SESSION)
@View
public class AdminContent {
@Init public void init(){
System.out.println("Init called");
}
@Prerender public void preRender()
{
System.out.println("Prerender");
}
@Destroy public void destroy()
{
System.out.println("Destroy");
}
@Preprocess public void preprocess()
{
System.out.println("Preprocess");
}
init() is getting called, but none of the other methods are (destroy,
prerender, preprocess). When I do submits the bean is being populated
fine and the callback works as expected.
JSP: AdminContent.jsp
<f:view>
.
.
.
<h:form>
<table border="0"
cellpadding="0" cellspacing="0">
<tr>
<td>
<h:outputText
value="Status: #{AdminContent.status}"/>
</td>
</tr>
<tr>
<td>
<h:commandButton
value="Start" action="#{adminContentHandler.saveAdminContent}" />
<br>
<h:commandButton
value="Stop" action="#{adminContentHandler.saveAdminContent}" />
<br>
<h:commandButton
value="Restart" action="#{adminContentHandler.saveAdminContent}" />
</td>
</tr>
</table>
</h:form>
.
.
.
</f:view>
Layout: mainLayout.jsp
<html>
<head>
<title>My Title</title>
<link rel="stylesheet" type="text/css"
href="/styles/vaAdmin.css"/>
</head>
<table border="0" cellpadding="0" height="100%" width="100%">
<tr valign="top" >
<td colspan="4">
<tiles:insert attribute="header" ></tiles:insert>
</td>
</tr>
<TR height="100%">
<TD height="100%" width="15%" valign="top">
<tiles:insert attribute="menu" ></tiles:insert>
</TD>
<TD width="65%" valign="top">
<tiles:insert attribute="content" ></tiles:insert>
</TD>
<td width="20%" valign="top">
<tiles:insert attribute="monitor" ></tiles:insert>
</td>
</tr>
<tr valign="bottom">
<td colspan="4" valign="top" >
<tiles:insert attribute="messages" ></tiles:insert>
</td>
</tr>
</table>
</html>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]