相关疑难解决方法(0)

从Tiles视图(JSP)访问Spring bean

在Spring MVC中,我可以使用JstlView的exposedContextBeanNames(或exposeContextBeansAsAttributes)在JSP中访问我的bean.例如,然后,在我的JSP中我可以编写($ {properties.myProperty).但是,当相同的JSP是切片视图的一部分时,无法访问这些属性.是否可以正确配置Tiles或以其他方式访问这些属性?

我正在使用Spring MVC 3.0.2和Tiles 2.2.1.这是我的一些配置:

<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="order" value="1"/>
    <property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView" />
</bean> 

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
    <property name="order" value="2"/>
    <property name="prefix" value="/WEB-INF/views/"/>
    <property name="suffix" value=".jsp"/>
    <property name="exposedContextBeanNames">
        <list><value>properties</value></list>
    </property>
</bean>
Run Code Online (Sandbox Code Playgroud)

编辑:我已经实施了Skaffman的解决方案.

TilesExposingBeansViewResolver.java:

package es.kcsolutions.util.spring.servlet.view;

import org.springframework.web.servlet.view.*;

public class TilesExposingBeansViewResolver extends UrlBasedViewResolver {

    private Boolean exposeContextBeansAsAttributes;
    private String[] exposedContextBeanNames;

    public void setExposeContextBeansAsAttributes(boolean exposeContextBeansAsAttributes) {
        this.exposeContextBeansAsAttributes = exposeContextBeansAsAttributes;
    }

    public void setExposedContextBeanNames(String[] exposedContextBeanNames) {
        this.exposedContextBeanNames = exposedContextBeanNames;
    }

    @Override
    protected AbstractUrlBasedView buildView(String viewName) throws …
Run Code Online (Sandbox Code Playgroud)

java spring jsp tiles spring-mvc

19
推荐指数
2
解决办法
1万
查看次数

如何将spring beans注入jsp 2.0 SimpleTag?

目前我需要spring bean的jsp 2.0标签使用此代码:

ac = WebApplicationContextUtils.getWebApplicationContext( servletContext);
ac.getBeansOfType(MyRequestedClass.class);
Run Code Online (Sandbox Code Playgroud)

我刚刚得到第一个匹配的bean.

这段代码运行正常,但是有一个不希望出现的缺点,我花了大约一半的页面渲染时间来查找spring bean,因为每次调用一个标签时都会发生这种情况.我想也许可以将bean放入应用程序范围或至少是会话范围.但是,处理这个问题的最聪明方法是什么?

java spring jsp jsp-tags

13
推荐指数
3
解决办法
2万
查看次数

如何使用spring mvc 3获取JSP文件中的属性

我是一个非常新的基于mvc 3注释的应用程序.我有两个属性文件 - WEB-INF\resources\general.properties,WEB-INF\resources\jdbc_config.properties

现在我想通过spring-servlet.xml配置它们.我怎么能做到这一点?

一般来说,性能,

label.username = User Name:
label.password = Password:
label.address = Address:
Run Code Online (Sandbox Code Playgroud)

...等jdbc_config.properties,

app.jdbc.driverClassName=com.mysql.jdbc.Driver
app.jdbc.url=jdbc:mysql://localhost:[port_number]/
app.jdbc.username=root
app.jdbc.password=pass
Run Code Online (Sandbox Code Playgroud)

- -等等

如果我想在我的jsp页面中获取label.username和app.jdbc.driverClassName,我该如何为它们编码?

我还想从我的服务中访问这些属性值.如何使用服务类或控制器类中的方法级别的相应键获取这些属性值?

spring

12
推荐指数
2
解决办法
4万
查看次数

标签 统计

spring ×3

java ×2

jsp ×2

jsp-tags ×1

spring-mvc ×1

tiles ×1