我正在按照本教程使用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
这是我的观察:
@Stateless
我总是得到相同的对象ID,并且计数器总是递增.@Stateful
每次刷新页面时都会获得一个新实例.@Singleton
我得到的结果与我设置时@Stateless
相同:相同的对象ID,计数器递增. 所以,我真正想要理解的是:在这种情况下@Stateless
,@Singleton
EJB 和EJB 之间的区别是什么?
我正在测试jquery-steps插件,如果我单击Next或Previous按钮(在底部)并且窗口顶部位于步骤'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中创建一个数组,在给定位置只有一个(或多个)给定元素.
请参阅以下代码段:
params = [];
params[5] = "my value"
params[14] = "my other value";
console.log(params);
Run Code Online (Sandbox Code Playgroud)
我没有初始化的所有元素都是(如预期的那样)未定义.在创建数组之前或之后,我可以删除这些未定义的元素吗?
另外,如果我将数组设置为JQuery $ .ajax()调用的POST数据会发生什么?
我知道这听起来可能是一个愚蠢的问题,但我正在尝试将这个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)