我试图在Button上使用方法addHandler.以下是我的代码:
private void attachClickHandler(Widget widget) {
ClickHandler clickHandler1;
ClickHandler clickHandler2;
clickHandler1 = new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
System.out.println("ClickHandler One");
}
};
clickHandler2 = new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
System.out.println("ClickHandler Two");
}
};
((Button) widget).addClickHandler(clickHandler1);
widget.addHandler(clickHandler2, ClickEvent.getType());
}
Run Code Online (Sandbox Code Playgroud)
如果我添加两个处理程序,它的工作完美.但是,如果我尝试仅添加clickHandler2(使用widget.addHandler(...)),则不会调用该处理程序.
无法弄清楚为什么?
提前致谢.
我正在开发一个角度应用程序.
运用
当我执行命令
ng build
Run Code Online (Sandbox Code Playgroud)
我没有得到任何错误,但是当我尝试生产构建时
ng build --prod
Run Code Online (Sandbox Code Playgroud)
我收到了错误
属性'someProperty'是私有的,只能在'SomeComponent'类中访问.
报告的错误是正确的,我修复了它.
问题是为什么dev build没有报告这个?. 这是角度cli的缺陷还是我错过了什么?
谢谢
我正在使用GlassFish 3.1,并尝试将参数传递给commandButton操作.以下是我的代码:
beans.xml中
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd" />
Run Code Online (Sandbox Code Playgroud)
faces-config.xml中
<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="2.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd" />
Run Code Online (Sandbox Code Playgroud)
ManagedBean类
package actionParam;
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;
@Named("bean")
@RequestScoped
public class ActionParam {
public ActionParam() {
super();
}
public String submit(int param) {
System.out.println("Submit using value " + param);
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
最后,
视图
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<meta http-equiv="Content-Type"
content="text/html; charset=ISO-8859-1" /> …Run Code Online (Sandbox Code Playgroud) 我读的斯卡拉,第三版编程,由Lex勺; Bill Venners;Martin Odersky,并尝试各种示例。
以下示例构成本书
abstract class Element {
def contents: Array[String]
val height = contents.length
val width = if (height == 0) 0 else contents(0).length
}
class UniformElement(
ch: Char,
override val width: Int,
override val height: Int
) extends Element {
private val line = ch.toString * width
def contents = Array.fill(height)(line)
}
val e: Element = new UniformElement('x', 2, 3)
Run Code Online (Sandbox Code Playgroud)
在REPL或Eclipse工作表中尝试给出java.lang.NullPointerException。
但是如果我改变
private val line = ch.toString * width
Run Code Online (Sandbox Code Playgroud)
至
private …Run Code Online (Sandbox Code Playgroud) 我有以下示例代码.最初,只有commandButton Two可见.当我单击此按钮时,commandButton One也可见.但是当我单击One时,后备bean方法click1不会被触发.
以下是我的代码:
XHTML
<h:form id="form1">
<h:inputHidden id="show" value="#{bean.show1}" />
<h:commandButton id="button1" value="One" action="#{bean.click1}"
rendered="#{bean.show1}" />
</h:form>
<h:form id="form2">
<h:inputHidden id="show" value="#{bean.show1}" />
<h:commandButton id="button2" value="Two" action="#{bean.click2}" />
</h:form>
Run Code Online (Sandbox Code Playgroud)
支持bean
@RequestScoped
@Named("bean")
public class JsfTrial implements Serializable {
private static final long serialVersionUID = 2784462583813130092L;
private boolean show1; // + getter, setter
public String click1() {
System.out.println("Click1()");
return null;
}
public String click2() {
System.out.println("Click2()");
setShow1(true);
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
我找到了BalusC提供的非常丰富的答案.
如果我理解正确,我的问题是由于这个答案的 …