小编gen*_*ejo的帖子

哪个更好,在spring3控制器上返回"ModelAndView"或"String"

返回ModelAndView的方式

@RequestMapping(value = "/list", method = RequestMethod.GET)
public ModelAndView list(
    @UserAuth UserAuth user, 
    ModelAndView mav) {

    if (!user.isAuthenticated()) {
        mav.setViewName("redirect:http://www.test.com/login.jsp");
        return mav;
    }

    mav.setViewName("list");
    mav.addObject("articles", listService.getLists());

    return mav;
}
Run Code Online (Sandbox Code Playgroud)

返回String的方式

@RequestMapping(value = "/list", method = RequestMethod.GET)
public String list(
    @UserAuth UserAuth user, 
    Model model) {

    if (!user.isAuthenticated()) {
        return "redirect:http://www.test.com/login.jsp";
    }

    model.addAttribute("articles", listService.getLists());

    return "list";
}
Run Code Online (Sandbox Code Playgroud)

这些工作相同.哪个更好?有什么区别?

controller spring-mvc

112
推荐指数
2
解决办法
9万
查看次数

chrome浏览器如何确定内存缓存和磁盘缓存?

我知道chrome支持from memory cache,from disk cache当我请求资源时.我以前没见过from memory cache.BTW如何确定哪些资源应该缓存在内存中?

在此输入图像描述

caching google-chrome browser-cache

22
推荐指数
1
解决办法
2314
查看次数

检查Controller或Service层中的前提条件

我正在使用Google的Preconditions类来验证用户的输入数据.
但我担心使用Preconditions类检查用户输入数据的最佳位置在哪里.
首先,我在Controller中编写了验证检查代码,如下所示:

@Controller
...
public void register(ProductInfo data) {
    Preconditions.checkArgument(StringUtils.hasText(data.getName()),
        "Empty name parameter.");
    productService.register(data);
}

@Service
...
public void register(ProductInfo data) {
    productDao.register(data);
}
Run Code Online (Sandbox Code Playgroud)

但我认为registerService层中的方法将使用另一个Controller方法,如下所示:

@Controller
...
public void register(ProductInfo data) {
    productService.register(data);
}
public void anotherRegister(ProductInfo data) {
    productService.register(data);
}

@Service 
...
public void register(ProductInfo data) {
    Preconditions.checkArgument(StringUtils.hasText(data.getName()),
        "Empty name parameter.");
    productDao.register(data);
}
Run Code Online (Sandbox Code Playgroud)

另一方面,服务层的方法将仅用于一个控制器.
我很困惑.哪种方法可以更好地检查控制器或服务中的前提条件?
提前致谢.

validation service spring controller

17
推荐指数
1
解决办法
9669
查看次数

解析REST API:拥有通道名称,我可以在实际发送到Push之前获取设备类型吗?

我们有一台服务器,偶尔会向我们的用户发送推送.每个用户在Parse中都有自己的频道名称.因为我们的ios和android推送看起来完全不同,我们尝试发送推送两次,一次针对他的频道名称和Android设备,一次针对他的频道名称和ios设备:

$aAndroidPush = array(
    "where" => array(
        "deviceType" => "Android",
        "channels" => array('$in' => array("push_user"))
    ),
    "data" => array(
        "action" => "com.android.action",
        "alertMessage" => "this is a push",
        "t" => "web",
        "m" => 0
    )
);

$aIOSPush = array(
    "where" => array(
        "deviceType" => "ios",
        "channels" => array('$in' => array("push_user"))
    ),
    "data" => array(
        "alert" => "this is a push",
        "sound" => "p.mp3",
        "t" => "web",
        "m" => 0 ,
        "badge" => ""
    )
);

$aHeaders = array(  
       "Content-Type: application/json", …
Run Code Online (Sandbox Code Playgroud)

php rest parsing push

11
推荐指数
1
解决办法
1059
查看次数

我怎样才能使许多jQuery ajax调用看起来很漂亮?

我正在制作许多基于ajax调用的Web服务.我为每个dom元素添加了事件监听器.每个事件处理程序都在其中请求ajax调用.顺便说一下,我的源代码越来越脏和复杂.我希望减少样板代码,并使用ajax调用看起来更简单.

我怎样才能有效地做到这一点?

示例代码如下所示:

<a href="javascript:void(0);" class="button1">button1</a>
<a href="javascript:void(0);" class="button2">button2</a>
<a href="javascript:void(0);" class="button3">button3</a>
<a href="javascript:void(0);" class="button4">button4</a>

$('.button1').on('click', function() {
    $.ajax({
        url: '/api/1/resource1',
        data: {
            value1: 'value1',
            value2: 'value2'
        },
        success: function (response) {
            $('.some_dom1').html(Handlebars.resource({items:response.items}));
        }
    });
});

$('.button2').on('click', function() {
    $.ajax({
        url: '/api/1/resource2',
        data: {
            value1: 'value1',
            value2: 'value2'
        },
        success: function (response) {
            $('.some_dom2').html(Handlebars.resource({items:response.items}));
        }
    });
});

$('.button3').on('click', function() {
    $.ajax({
        url: '/api/1/resource3',
        data: {
            value1: 'value1',
            value2: 'value2'
        },
        success: function (response) {
            $('.some_dom3').html(Handlebars.resource({items:response.items}));
        }
    });
});

$('.button4').on('click', function() …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery

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

RSS 内存增加,而 Node.js 中的堆稳定

我有一个 node.js 应用程序,它支持 React 服务器渲染与内部服务器 API 通信。顺便说一句,应用程序的 RSS 内存正在逐渐增加。

我已经进行了 5 天的故障排除,并且已经检查了堆转储的比较。但是堆是稳定的。只有RSS在增加。

2017-06-29 09:10:00 083: memoryUsage { rss: 107597824, heapTotal: 78532608, heapUsed: 68423584 }
2017-06-29 09:10:00 212: memoryUsage { rss: 107163648, heapTotal: 78532608, heapUsed: 67970768 }
2017-06-29 09:10:00 377: memoryUsage { rss: 106213376, heapTotal: 77484032, heapUsed: 67166800 }
2017-06-29 09:10:00 448: memoryUsage { rss: 106184704, heapTotal: 78532608, heapUsed: 62869512 }
....
....
2017-06-30 15:25:00 144: memoryUsage { rss: 140972032, heapTotal: 78532608, heapUsed: 65703576 }
2017-06-30 15:25:00 379: memoryUsage { rss: …
Run Code Online (Sandbox Code Playgroud)

memory node.js

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

如何检查java中的值是否为整数?

我正在使用restTemplate的一些API.API返回一个类型为整数的键.

但我不确定这个值,所以我想检查密钥是否真的是整数.我认为它可能是一个字符串.

检查值是否真的是整数的最佳方法是什么?

补充:我的意思是某些API可能会返回如下所示的值.{id:10}或{id:"10"}

java integer

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

如何在Delphi中创建多维关联数组?

我想在Delphi中创建一个像多维关联数组的数据结构.

我知道有TObjectDictionary.但是我想用TObjectDictionary制作多维数组是如此困难而且效率不高.

在Delphi中有没有其他好的方法来制作多维关联数组?

delphi multidimensional-array

0
推荐指数
1
解决办法
446
查看次数