Java 自定义标记-访问模型中的数据?

Java 自定义标记-访问模型中的数据?,java,jsp,jakarta-ee,spring-mvc,jstl,Java,Jsp,Jakarta Ee,Spring Mvc,Jstl,我通过扩展SimpleTagSupport创建了一个自定义JSP标记。通常,在视图中,我可以使用jstl从模型中提取数据。我的问题是:在创建自定义标记(通过使用SimpleTagSupport)时,如何从模型中访问数据?谢谢 为了澄清,我需要一个自定义标记来对模型中的一段数据进行格式化。如果定制标签不是实现这一点的最佳方法,我愿意接受建议(但仍然希望能回答我原来的问题) 更新:根据Bozhos的回答,我似乎可以使用JSP上下文从模型中获取数据。这是通常的做法吗(即,在显示前使用自定义标记操作模型

我通过扩展SimpleTagSupport创建了一个自定义JSP标记。通常,在视图中,我可以使用jstl从模型中提取数据。我的问题是:在创建自定义标记(通过使用SimpleTagSupport)时,如何从模型中访问数据?谢谢

为了澄清,我需要一个自定义标记来对模型中的一段数据进行格式化。如果定制标签不是实现这一点的最佳方法,我愿意接受建议(但仍然希望能回答我原来的问题)


更新:根据Bozhos的回答,我似乎可以使用JSP上下文从模型中获取数据。这是通常的做法吗(即,在显示前使用自定义标记操作模型中的数据集)?或者可以将数据作为参数传递给自定义标记逻辑(即通过标记属性)?我只是想找出每种方法的优缺点。谢谢。

JSTL处理的所有数据都存储在jsp上下文属性中。例如,您可以通过调用以下命令来获取
变量:

getJspContext().getAttribute("key");
这些属性有四个作用域——页面、请求、会话和应用程序,因此请注意它们的设置位置。有一个重载方法来提供特定的作用域


当然,您可以定义一个标记属性并以这种方式传递它。

JSTL处理的所有数据都存储在jsp上下文属性中。例如,您可以通过调用以下命令来获取
变量:

getJspContext().getAttribute("key");
这些属性有四个作用域——页面、请求、会话和应用程序,因此请注意它们的设置位置。有一个重载方法来提供特定的作用域


当然,您可以定义一个标记属性,并以这种方式传递它。

那么,这是一种比通过参数将数据传递给自定义标记更好的方法吗?现在,情况不同了。当然,您可以将其作为参数传递。但是您也可以从页面上下文访问其他值。因此,这是一种比通过参数将数据传递给自定义标记更好的方法吗?现在,情况不同了。当然,您可以将其作为参数传递。但您也可以从页面上下文访问其他值。