Hi guys,

I'm trying to show/hide an html element based on Robert's recent suggestion 
(Re: how do we secure our views) but I've hit a minor problem. The mixin's 
@BeforeRender method is being called but then tapestry complains that the 
component (textArea) is unbalanced. I'm using the component and mixin in a 
custom component, not a page. Here is the code

The mixin:
public class Visible {
  @Parameter(required=true)
  private boolean visible;

  @BeginRender
  boolean render() {
    return visible;
  }
}

The custom component:

    @Component(id="reason", parameters={"value=violation.message", 
"visible=true"})
    @Mixins("visible")
    private TextArea reason;

The custom component's tml

    <t:form>
            <t:textArea t:id="reason" />
            <input type="submit" />
    </t:form>

When the component renders I get the following exception:

"Render queue error in 
CleanupRender[TestViolations:violations.reason]:Component 
TestViolations:violations.reason has rendered unbalancedelements; either it has 
started an element with MarkupWriter.element()and not followed up with 
MarkupWriter.end(), or it has invokedMarkupWriter.end() without first invoking 
MarkupWriter.element()."

"TestViolations" is the page which includes the custom component, "Violations" 
is the custom component

Does anyone have any ideas?

Thanks

Toby



Reply via email to