小编god*_*nte的帖子

@Stateless和@Singleton之间的区别

我正在按照本教程使用EJB:

package exercise1;

import java.util.Random;
import javax.ejb.Stateless;
import javax.inject.Named;

@Stateless
public class MessageServerBean {
    private int counter = 0;

    public String getMessage(){
        Random random = new Random();
        random.nextInt(9999999);
        int myRandomNumber = random.nextInt();
        return "" + myRandomNumber;
    }

    public int getCounter(){
        return counter++;
    }    
}
Run Code Online (Sandbox Code Playgroud)

这是一个输出示例:


来自Facelets的Hello
消息是:84804258
计数器是:26
消息服务器Bean是:exercise1.MessageServerBean@757b6193


这是我的观察:

  • 当我设置bean时,@Stateless我总是得到相同的对象ID,并且计数器总是递增.
  • 当我设置bean时,@Stateful每次刷新页面时都会获得一个新实例.
  • 当我设置它时,@Singleton我得到的结果与我设置时@Stateless相同:相同的对象ID,计数器递增.

所以,我真正想要理解的是:在这种情况下@Stateless,@SingletonEJB 和EJB 之间的区别是什么?

ejb ejb-3.1

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

jquery-steps:如何防止页面滚动到顶部?

我正在测试jquery-steps插件,如果我单击NextPrevious按钮(在底部)并且窗口顶部位于步骤'div top之下(即如果我的浏览器窗口高度太短,就会发生这种情况) ),滚动跳到身体顶部.

显然没有办法阻止这种情况,我尝试了一切,包括编辑插件代码.我唯一能做的就是通过在onStepChanging事件中添加一些代码来设置不同的滚动位置:

$("#steps-container").steps({
        /* ... */
        onStepChanging: function(event, currentIndex, priorIndex)
        {
            var top = 300;
            var pos = $(window).scrollTop();
            if (pos > top + 48)
            {
                $('body').scrollTop(top);
            }
            return true;
        },
        labels:
        {
            /* ... */
        },
        onFinishing: function (event, currentIndex) { submitOrderForm(); return true; }
    });
Run Code Online (Sandbox Code Playgroud)

有人可以帮我整理一下吗?谢谢!

javascript jquery dom jquery-steps

4
推荐指数
1
解决办法
2407
查看次数

如何在javascript中创建一个只在特定位置使用元素的数组?

我需要在Javascript中创建一个数组,在给定位置只有一个(或多个)给定元素.

请参阅以下代码段:

params = [];

params[5] = "my value"
params[14] = "my other value";

console.log(params);
Run Code Online (Sandbox Code Playgroud)

我没有初始化的所有元素都是(如预期的那样)未定义.在创建数组之前或之后,我可以删除这些未定义的元素吗?

另外,如果我将数组设置为JQuery $ .ajax()调用的POST数据会发生什么?

javascript arrays jquery

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

PHP:如果大于x,则x

我知道这听起来可能是一个愚蠢的问题,但我正在尝试将这个PHP代码作为一行:

$value = result_from_a_function();
if ($value > $maximum)
{
    $value = $maximum;
}
Run Code Online (Sandbox Code Playgroud)

是否有可能在PHP中使它成为一行?就像是

$value = result_from_a_function() [obscure operator] $maximum;
Run Code Online (Sandbox Code Playgroud)

php math comparison-operators

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