标签: spring-mobile

是否有任何设计模式可根据设备类型在数据之间切换?

我们有一个基于Spring MVC的Web应用程序.现在我们需要修改此应用程序,以便在智能手机上正确呈现.

为此,我们将为智能手机创建单独的JSP.因此,请求来自浏览器,我们将检查请求是否来自桌面然后我们将显示正常的JSP,或者如果请求来自移动,那么我们将显示智能手机的JSP.

我们将使用spring Mobile.

在某些情况下,我们还希望限制智能手机上的数据.我们可能不会在JSP中显示所有数据.

例如,我们可能只需在菜单中显示几个项目.桌面Web应用程序将显示完整菜单,而智能手机将显示较少的菜单项.即使我们将为桌面菜单和移动菜单使用不同的JSP,菜单项也来自数据库.

是否有任何设计模式可以帮助我们?我们不想写那些if else条件来检查设备类型.

java design-patterns spring-mvc spring-mobile

9
推荐指数
1
解决办法
1476
查看次数

Spring Mobile:如何以编程方式添加DeviceWebArgumentResolver?

Spring移动文档建议添加以下配置:

<mvc:annotation-driven>
    <mvc:argument-resolvers>
        <beans:bean class="org.springframework.mobile.device.DeviceWebArgumentResolver" />
    </mvc:argument-resolvers>
</mvc:annotation-driven>
Run Code Online (Sandbox Code Playgroud)

将当前的Device对象作为参数传递给@Controller方法.

然而,人们可以使用:

@EnableWebMvc
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {

}
Run Code Online (Sandbox Code Playgroud)

和旁路<mvc:annotation-driven>配置.

那么,如何以DeviceWebArgumentResolver编程方式添加?

解决方案(卢西亚诺):

@EnableWebMvc
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addArgumentResolvers(
        List<HandlerMethodArgumentResolver> argumentResolvers) {

        // Adding Spring mobile argument resolvers
        argumentResolvers.add(
            new ServletWebArgumentResolverAdapter(
                new DeviceWebArgumentResolver()));

        argumentResolvers.add(
            new ServletWebArgumentResolverAdapter(
                new SitePreferenceWebArgumentResolver()));

    }

    // ...

}
Run Code Online (Sandbox Code Playgroud)

java configuration spring-mobile

7
推荐指数
1
解决办法
2364
查看次数

如何缓存REST响应,Spring For Android

目标是缓存来自Web服务的一些响应.

我使用Spring for Android框架 - http://www.springsource.org/spring-android#documentation与restful服务进行通信.据我所知,我可以使用常见Spring Framework中的一些模块将缓存添加到应用程序中(http://viralpatel.net/blogs/cache-support-spring-3-1-m1/).我是对的,不可能只使用spring-for-android吗?那么解决方案是什么?

*我没有任何共同春天的经验.

android caching spring-mobile

6
推荐指数
1
解决办法
1879
查看次数

spring-mobile 的替代方案

我有一个要求,在所有控制器中我需要了解设备类型(台式机、移动设备、平板电脑),并且基于此我可能需要将请求发送到不同的视图。现在,我的控制器中散落着重复的代码,这些代码执行以下操作:

  1. 从 HttpServletRequest 获取用户代理
  2. 通过匹配数组中包含多个预定义关键字的用户代理字符串来查找设备类型。
  3. 使用 if/else 语句根据检测到的设备类型将请求转发到不同的视图

为了解决这个问题,我发现 spring-mobile 可以帮助解决这个问题。但不幸的是,这个项目似乎被放弃了。我正在寻找一个更好的替代方案作为依赖项,或者可能是一个更好的设计模式来处理这个问题。

spring spring-mvc spring-mobile

5
推荐指数
0
解决办法
638
查看次数

为现有的Spring MVC应用程序(Spring Mobile或Phonegap)设计移动应用程序

我使用Spring MVC和MySQL在Openshift上创建了一个Web应用程序.

现在我想为这个应用程序移动.我想将相同的应用程序发布为移动应用程序(主要是Android).首先,这个移动版本也应该使用HttpPost/Webservice安全授权.

我知道Pivotal有一个Spring Mobile项目,它可以为同一个应用程序创建一个移动站点(更复杂,如spring form标签和所有).

另一方面,Phonegap可以借助HTML5和CSS创建一个跨平台的移动应用程序.

我的问题是:

  • 将我的精力放在Phonegap或Spring Mobile上是否值得?
  • 如果我选择Spring Mobile,如何在Android Play商店中发布移动应用程序?

一些利弊或任何参考链接将有所帮助.

spring android jquery-mobile spring-mobile cordova

3
推荐指数
1
解决办法
8156
查看次数