当我想开始学习Java时,我应该安装哪一个?我将从一些基础开始,所以我将编写简单的程序来创建文件,目录,编辑XML文件等等,现在没有什么太复杂了.
我想我应该在Windows 7桌面上安装Java SE(标准版).我已经有了Komodo IDE,我将用它来编写Java代码.
我<link>和之间有些混淆<a>.
我知道为了将CSS添加到HTML文档,我们使用<link>标记,例如:
<link type="text/css" rel="stylesheet" href="/spinner/styles.css?ln=css" />
Run Code Online (Sandbox Code Playgroud)
但是,我无法理解为什么我们不使用锚<a>标记(因为它包含相同的必要属性),例如:
<a type="text/css" rel="stylesheet" href="/spinner/styles.css?ln=css" />
Run Code Online (Sandbox Code Playgroud)
这两个标签可以互换吗?此外,如果这是可能的,那么我们如何选择一个而不是另一个?为什么?
更新:
我有这种困惑,因为我在完整参考HTML和CSS书中看到了关于Tag 的rel属性<a>,它:
rel:对于包含该
href属性的锚点,此属性指定目标对象与链接对象的关系.
所以我认为它可以做与<link>标签相同的功能.
我需要在JSF组件中使用自定义html属性,为此我发现的唯一解决方案是使用JSF 2.2,这样:
<f:passThroughAttribute name="data-toggle" value="modal" />
Run Code Online (Sandbox Code Playgroud)
问题是我正在使用Spring + Tomcat而我无法改变这个因为我没有时间.每次我启动我的服务器时都会出现以下错误:
Informações: CDI @ViewScoped manager unavailable
java.lang.NoClassDefFoundError: javax/enterprise/context/spi/Contextual
Run Code Online (Sandbox Code Playgroud)
我知道这是因为我不使用CDI,但正如我所说,由于时间的原因,我无法从Spring改为CDI.
我怎么解决这个问题 ?我必须使用JSF 2.2(因为自定义html属性)和Spring.
解决了:
这个问题解决了,我降级到JSF 2.2.6并且错误停止了.
堆栈跟踪:
Fev 01, 2015 4:13:57 PM com.sun.faces.application.view.ViewScopeManager <init>
Informações: CDI @ViewScoped manager unavailable
java.lang.NoClassDefFoundError: javax/enterprise/context/spi/Contextual
at com.sun.faces.application.view.ViewScopeManager.<init>(Unknown Source)
at com.sun.faces.application.view.ViewScopeManager.getInstance(Unknown Source)
at com.sun.faces.application.view.ViewScopeEventListener.processEvent(Unknown Source)
at javax.faces.event.SystemEvent.processListener(Unknown Source)
at javax.faces.event.ComponentSystemEvent.processListener(Unknown Source)
at com.sun.faces.application.ApplicationImpl.processListeners(Unknown Source)
at com.sun.faces.application.ApplicationImpl.invokeListenersFor(Unknown Source)
at com.sun.faces.application.ApplicationImpl.publishEvent(Unknown Source)
at javax.faces.component.UIViewRoot.getViewMap(Unknown Source)
at javax.faces.component.UIViewRoot.getViewMap(Unknown Source)
at com.sun.faces.mgbean.BeanManager$ScopeManager$ViewScopeHandler.handle(Unknown Source)
at com.sun.faces.mgbean.BeanManager$ScopeManager.pushToScope(Unknown Source)
at com.sun.faces.mgbean.BeanManager.createAndPush(Unknown Source)
at com.sun.faces.mgbean.BeanManager.create(Unknown Source) …Run Code Online (Sandbox Code Playgroud) 我有一个蓝牙聊天示例应用程序的修改版本.我已经设置了一个ScheduledExecutorService使用以预定义的速率通过蓝牙发送命令scheduleAtFixedRate.
我已经设置了一个PreferenceActivity允许用户修改时间段.但我不确定如何在更新期间实现重复的实际任务.我需要以ScheduledExecutorService某种方式取消并重新启动吗?
这是我的代码的相关部分.
private ScheduledExecutorService scheduleTaskExecutor;
public long ReadInterval = 1;
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
scheduleTaskExecutor = Executors.newScheduledThreadPool(5);
...
// This schedule a task to run every 1 second:
scheduleTaskExecutor.scheduleAtFixedRate(new Runnable() {
public void run() {
// If you need update UI, simply do this:
runOnUiThread(new Runnable() {
public void run() {
// update your UI component here.
if (connected == true) {
sendMessage("READ");
if (D) Log.i(TAG, "In …Run Code Online (Sandbox Code Playgroud) 我的问题与这个问题有关.在JSF中动态获取所有隐藏的输入字段,但它与我想要使用JSF而不是纯HTML的不一样,并假设我的.xhtml文件中包含以下内容:
<h:inputHidden id="name1" value="SomeValue1"/>
<h:inputHidden id="name2" value="SomeValue2"/>
Run Code Online (Sandbox Code Playgroud)
我开发了一个小代码,我试图h:inputHidden动态获取所有标签并将其值打印到控制台,但问题是我无法找到一种方法如何使每一个动态.在我的代码中,id如果我想迭代uicomponents,我应该知道表单,如何迭代UIComponent组件树中的所有内容?(我试过,UIViewRoot#getChildren()但我只得到第一个孩子).
这是代码片段:
// formId is the id of my form
List<UIComponent> components = FacesContext.getCurrentInstance().getViewRoot().findComponent("formId").getChildren();
// A List of UIComponent where I am adding my Hidden Inputs
List<UIComponent> hiddenComponents = new ArrayList<UIComponent>();
for (UIComponent component : components) {
// using the hidden inputs type in JSF: HtmlInputHidden
if (component instanceof HtmlInputHidden) {
hiddenComponents.add(component);
}
}
for (UIComponent component : hiddenComponents) {
// …Run Code Online (Sandbox Code Playgroud) 我知道无状态会话Bean是指EJB bean,而Request Scoped是指CDI bean(或JSF托管bean),因此我将首先从Java EE Tutoriel中提供它们的两个定义.
无状态会话Bean定义:
无状态会话bean不与客户端保持会话状态.当客户端调用无状态bean的方法时,bean的实例变量可能包含特定于该客户端的状态,但仅限于调用期间.方法完成后,不应保留特定于客户端的状态.
CDI Request Scoped定义:
用户在单个HTTP请求中与Web应用程序的交互.
我从这两个定义中理解的是,无状态会话bean的概念与请求范围概念相同,但我不确定,因为命名"会话"使我感到困惑.所以,我问自己是否是这种情况(相同的概念),也许他们会有类似的命名(使用请求而不是会话).
所以,我的问题是:EJB无状态会话bean和CDI/JSF请求范围bean之间是否有任何概念上的区别?
为了更好地理解JSF(2.x)中的clientID生成,有人可以在JSF生成客户端ID(生命周期阶段,构建时间或渲染时间......)时直接向我解释吗?
以及如何生成客户端ID(如果提供/不提供组件ID,而不是,随机或使用特定逻辑......)?
我有一个JSF,CDI项目的问题.我做了很多研究,我发现在CDI中没有@ViewedScoped注释.我用对话框解决了基于ajax的页面的问题.我想从datatable传递变量到对话框.为此,我不能使用@RequestedScopedbean,因为在请求结束后丢弃值.任何人都可以帮我解决吗?我不能用,@SessionScoped但这是一个不好的做法恕我直言.或者也许只将这一个变量保存到知道的会话中.你们能给我任何提示如何优雅地解决这个问题吗?
import javax.enterprise.context.ApplicationScoped;
@ApplicationScoped
public class ServiceBean implements Serializable {
...
Run Code Online (Sandbox Code Playgroud)
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
@ManagedBean
@ViewScoped
public class SomeBean {
@Inject
ServiceBean serviceBean;
@Postconstruct ...
Run Code Online (Sandbox Code Playgroud)
这是错误消息:
com.sun.faces.mgbean.ManagedBeanCreationException: An error occurred performing resource injection on managed bean warDetailBean
Run Code Online (Sandbox Code Playgroud) 我无法理解EJB容器如何管理@Stateless具有实例变量的bean的线程安全性.在解释我的担忧之前,我将举一个简单的例子:
@Stateless
public class BeanTest{
@Inject
private String var;
private Connection connection;
@Resource(name = "jdbc/TestDB")
private DataSource dataSource;
public void modify() {
var = "TestName";
}
@PostConstruct
public void initialize() {
try {
connection = dataSource.getConnection();
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
@PreDestroy
public void cleanup() {
try {
connection.close();
connection = null;
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的问题,假设我们的容器支持池:
1.池与线程安全:
用户1使用了一个实例BeanTest并var使用modify方法修改了,然后他完成了并且容器将实例放入BeanTest托管池中.当用户2尝试对请求使用相同的bean时,他可能会获得BeanTest由用户1初始修改的相同实例(我知道可能还会获得另一个实例).那么var …
根据SCJP6(页577),我发现实例变量在超类构造函数完成之前被赋予了默认值,我在Debugg模式中尝试了一个例子,但我看到超级承包商在实例变量获取其默认值之前运行,可以任何一个解释那对我来说?
我想用的例子:
package courseExercise;
class test {
test() {
System.out.println("Super Constructor run");
}
}
public class Init extends test {
private Integer i = 6;
private int j = 8;
Init(int x) {
super();
System.out.println("1-arg const");
}
Init() {
System.out.println("no-arg const");
}
static {
System.out.println("1st static init");
}
public static int d = 10;
{
System.out.println("1st instance init");
}
{
System.out.println("2nd instance init");
}
static {
System.out.println("2nd static init");
}
public static void main(String[] args) {
new Init();
new Init(7); …Run Code Online (Sandbox Code Playgroud)