meh*_*ost 4 spring jsp spring-mvc
我有包含方法 [void return] 的 bean 并希望在 JSP 中访问此 bean。
public class A {
public void run() {}
}
Run Code Online (Sandbox Code Playgroud)
将以下代码添加到 spring 配置文件中。
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="exposeContextBeansAsAttributes" value="true"/>
</bean>
<bean id="a" class="com.example.A"
>
</bean>
Run Code Online (Sandbox Code Playgroud)
现在在我的 JSP 页面中:
${a.run}
Run Code Online (Sandbox Code Playgroud)
但此解决方案不起作用。请帮助我在 JSP 页面上访问 spring bean。
将 bean 注入控制器并将其作为模型的一部分公开。
但是为什么需要run从 JSP调用呢?
JSP EL 期望遵循 JavaBean 命名约定;这个例子不会像你期望的那样工作。在最简单的选择是重命名方法,或者提供额外的方法,即遵循JavaBean命名约定和调用run。
编辑以回复评论。
如果您需要从链接调用方法,您有两个(合理的)选项:链接到调用注入服务的控制器操作,或者对调用注入服务的控制器方法进行 Ajax 调用。
直接从视图层(JSP)进行服务调用仍然是零理由。
| 归档时间: |
|
| 查看次数: |
17024 次 |
| 最近记录: |