Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jsp-dev] Tag attribute value in #{expr} syntax with page directive attribute deferredSyntaxAllowedAsLiteral=true

My first comment is that SimpleTag.setBarExpr() is at best confusing. The second out.println(...) statement needs to be inside an else block. Otherwise, you see both statements when the value parameter is an instance of ValueExpression.

I'd also change the JSP output to plain text rather than HTML.

The TLD sets both rtexprvalue and deferred-value to "true" so, as per section 2.3.5 of the Jakarta Pages specification, the parameter type for the associated setter method must be java.lang.Object.

Note that the setter method parameter type is independent of the (per page) setting for deferredSyntaxAllowedAsLiteral.

My expectation is that the setter is called and that a ValueExpression where isLiteralText() returns true is passed.

Of the two responses you provided, the Glassfish response looks correct to me and the WebLogic response incorrect.

Mark



On 04/02/2025 10:49, Padmanabha Bhat via jsp-dev wrote:
Hi, I missed to attach the response from WebLogic in my earlier e-mail. Please find the attachment.

Regards,

--Bhat

*From: *Padmanabha Bhat <padmanabha.bhat@xxxxxxxxxx>
*Date: *Tuesday, 4 February 2025 at 4:18 PM
*To: *jsp-dev@xxxxxxxxxxx <jsp-dev@xxxxxxxxxxx>
*Cc: *Padmanabha Bhat <padmanabha.bhat@xxxxxxxxxx>
*Subject: *Tag attribute value in #{expr} syntax with page directive attribute deferredSyntaxAllowedAsLiteral=true

Hi All,

   I am sending this e-mail to understand the expected behavior on accessing the test.jsp from the attached .war file. I have kept the source SimpleTag.java for your reference. Also please ignore WEB-INF/ weblogic.xml. I have also attached the sample response from WebLogic (weblogic_response.log) and GlassFish (glassfish_response.log). I have used GlassFish 7.0.21, built with commit 8dadcddebd0bb8151d4f82052ca810226c340227 for this exercise.

With my limited understanding of the JSP spec, with page directive attribute deferredSyntaxAllowedAsLiteral=true, the setter method setBarExpr in SimpleTag.java won't set the value for barExpr as the value is not a ValueExpression. If it is not correct, can you please explain the expected behavior and the reason for the same ?

Thanks,

--Bhat


_______________________________________________
jsp-dev mailing list
jsp-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jsp-dev



Back to the top