Hello
I'm newbie with Tapestry, and I cannot solve this error (I'm almost sure
that I'm overlooking something but I don`t know what), and I searched on
gmane and docs (that are out of sync) but the solution doesn´t appear
for me.
I tried to put a <property> inside .page but the error is on the page,
and after all T4 detects the type of the element (TCampo) in the List.
Additionally in the .dtd for T4 the "type" part of the property
dissapear, and I don´t know how specify the setter (¿what setter and
where?) for TCampo inside the page.
Environment:
T4-RC3
JDK 1.5.0_06b
Tomcat 5.5.12
The well known error is:
org.apache.tapestry.BindingException
Unable to update OGNL expression '<parsed OGNL expression>' of
[EMAIL PROTECTED] to [EMAIL PROTECTED]:
$MainForm_47.campo
//The next line is where Tapestry encounter the problem
<span jwcid="[EMAIL PROTECTED]" source="ognl:camposUser" value="ognl:campo">
<td>
<span jwcid="@Checkbox" id="ognl:campo.nomCampo"
value="ognl:campo.visible" displayName="ognl:campo.displayName"/>
</td>
</span>
org.apache.hivemind.ApplicationRuntimeException
Unable to update OGNL expression '<parsed OGNL expression>' of
[EMAIL PROTECTED] to [EMAIL PROTECTED]:
$MainForm_47.campo
ognl.NoSuchPropertyException
$MainForm_47.campo
Stack Trace:
*
ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:133)
* ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1629)
* ognl.ASTProperty.setValueBody(ASTProperty.java:105)
* ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177)
* ognl.SimpleNode.setValue(SimpleNode.java:246)
* ognl.Ognl.setValue(Ognl.java:476)
*
org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.writeCompiled(ExpressionEvaluatorImpl.java:121)
*
$ExpressionEvaluator_1089c2e0f5b.writeCompiled($ExpressionEvaluator_1089c2e0f5b.java)
the camposUser is a List that is populated previously and is successful
the process, but fail when Tapestry tries to render.
TCampo.java
public class TCampo implements Serializable
{
private static final long serialVersionUID = 1858318434177120215L;
private String nomCampo;
private String Expr;
private String displayName;
private boolean llave=false;
private boolean visible=false;
private boolean forUser=false;
private TTipoDato tipo;
public TCampo(){
}
public TCampo(String strNomCampo, String strExpresion,
String strDisplayName, boolean bLlave,
boolean bVisible, boolean bForUser,
TTipoDato tipDato){
nomCampo = strNomCampo;
if (strExpresion.equals(""))
Expr = strNomCampo;
else Expr = strExpresion;
displayName = strDisplayName;
llave = bLlave;
visible = bVisible;
forUser = bForUser;
tipo = tipDato;
}
public String getDisplayName() {
return displayName;
}
public void setDisplayName(String displayName) {
this.displayName = displayName;
}
public String getNomCampo() {
return nomCampo;
}
public void setNomCampo(String nomCampo) {
this.nomCampo = nomCampo;
}
public TTipoDato getTipo() {
return tipo;
}
public void setTipo(TTipoDato tipo) {
this.tipo = tipo;
}
public boolean isVisible() {
return visible;
}
public void setVisible(boolean visible) {
this.visible = visible;
}
public String getExpr() {
return Expr;
}
public void setExpr(String expr) {
Expr = expr;
}
public boolean isForUser() {
return forUser;
}
public void setForUser(boolean forUser) {
this.forUser = forUser;
}
public boolean isLlave() {
return llave;
}
public void setLlave(boolean llave) {
this.llave = llave;
}
}
TTipoDato is defined as
static public enum TTipoDato{
cadena, entero, flotante, listado, bool, fecha;
}
As you can see is a boring POJO and the MainPage.java only have a public
abstract setter and getter for camposUser, the setter is use to assign
the List before render, so the information is present before rendering.
¿What I'm missing, overlooking or doing wrong?
Thanks in advance for your time
Jorge Quiroga
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]