我知道GF-web配置文件与完整GF相比重量更轻,使用更少的内存.但是,web-profile版本的运行速度比完整版本要快.我的VPS是4G内存,和我指定-Xmx: 1400M,-Xms: 1400M也是如此.我目前正在使用完整版GF开源.我想知道是否应该切换到网络个人资料版本.我知道Web配置文件版本不支持JMS,但我想我可以下载mail.jar并将其放入我的类路径中它应该可以工作,对吧?
我可以让日志进入控制台,但我似乎无法进入日志文件.这是我的properties档案.
log4j.rootLogger=DEBUG, LOG , stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p %d{d/MM/yy HH:mm:ss}:%m%n
# log4j.appender.LOG.Threshold=INFO
log4j.appender.LOG=org.apache.log4j.RollingFileAppender
log4j.appender.LOG.File=C:\dev\harry\data\logs\core.log
log4j.appender.LOG.layout=org.apache.log4j.PatternLayout
log4j.appender.LOG.Append=true
log4j.appender.LOG.layout.ConversionPattern=%5p %d{d/MM/yy HH:mm:ss}:%m%n
# log4j.appender.LOG.Threshold=INFO
Run Code Online (Sandbox Code Playgroud) 我有一个 XML 格式,我想使用 JAXB 对其进行编组,但对我来说它看起来有点奇怪。这是 XML
<root>
<parent>
<child>1</child>
<child>2</child>
<child>10</child>
</parent>
</root>
Run Code Online (Sandbox Code Playgroud)
我想取回孩子的名单。通常如果parent有多个不同的child,我会创建parent一个类,并用于@XmlElement引用parentfrom root,但在这种情况下parent只有 1 child,并且重复多次,所以对我来说有点奇怪。XML 格式可以更改。
从这个答案由BalusC这里的行动和ActionListener的差异,Use actionListener if you want have a hook before the real business action get executed, e.g. to log it, and/or to set an additional property (by <f:setPropertyActionListener>,.但是,当我决定编写一些代码来测试它时,结果有点不同.这是我的小代码
<h:form id="form">
<h:panelGroup id="mygroup">
<p:dataTable id="mytable" value="#{viewBean.foodList}" var="item">
<p:column>
#{item}
</p:column>
<p:column>
<p:commandButton value="delete"
action="#{viewBean.delete}"
update=":form:mygroup">
<f:setPropertyActionListener target="#{viewBean.selectedFood}"
value="#{item}"/>
</p:commandButton>
</p:column>
</p:dataTable>
</h:panelGroup>
</h:form>
Run Code Online (Sandbox Code Playgroud)
这是我的豆子
@ManagedBean
@ViewScoped
public class ViewBean {
private List<String> foodList;
private String selectedFood;
@PostConstruct
public void init(){
foodList = new ArrayList<String>();
foodList.add("Pizza");
foodList.add("Pasta");
foodList.add("Hamburger");
} …Run Code Online (Sandbox Code Playgroud) 因此,对于我的webapp,如果我删除当前登录的用户,并且我想使他/她的会话无效.因此,只要他/她刷新页面或导航,他们就不再登录.我现在的方式是,如果用户成功登录,我将把用户对象存储在我的SessionScopedbean中,并将其存储HttpSession到Application Map.以下是我的代码
这是我的SessionScoped豆子
@PostConstruct
public void init() {
User user = UserDAO.findById(userId, password);
Map<String, Object> appMap = FacesContext.getCurrentInstance().
getExternalContext().getApplicationMap();
HttpSession session = (HttpSession) FacesContext.getCurrentInstance().
getExternalContext().getSession(false);
appMap.put(userId, session);
}
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?如果是这样,我该如何清理我的应用程序图?
我为它创建了一个自定义组件SelectOneRadio,并将其注册xyz.taglib.xml到目前为止它的工作原理.唯一的问题是我的NetBeans无法在自动完成中看到我的标记属性.例如,如果我layout="pageDirection"在我的自定义组件中,那么它会正确渲染,但是当我(Ctrl +空格)我看不到时layout,value...属性.这里是我在我注册我的自定义组件WEB-INF/faces-config.xml,我有
<component>
<component-type>com.xyz.om.ui.component.SelectOneRadio</component-type>
<component-class>
com.xyz.om.ui.component.SelectOneRadio
</component-class>
<component-extension>
<component-family>com.xyz.om.ui.component.SelectOneRadio</component-family>
<renderer-type>com.xyz.om.ui.renderer.SelectOneRadioRenderer</renderer-type>
</component-extension>
</component>
<render-kit>
<renderer>
<component-family>com.xyz.om.ui.component.SelectOneRadio</component-family>
<renderer-type>com.xyz.om.ui.renderer.SelectOneRadioRenderer</renderer-type>
<renderer-class>
com.xyz.om.ui.renderer.SelectOneRadioRenderer
</renderer-class>
</renderer>
</render-kit>
Run Code Online (Sandbox Code Playgroud)
在我WEB-INF/xyz.taglib.xml,我有
<facelet-taglib 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-facelettaglibrary_2_0.xsd"
version="2.0">
<namespace>http://example.com/ui</namespace>
<tag>
<tag-name>selectOneRadio</tag-name>
<component>
<component-type>com.xyz.om.ui.component.SelectOneRadio</component-type>
<renderer-type>com.xyz.om.ui.renderer.SelectOneRadioRenderer</renderer-type>
</component>
</tag>
</facelet-taglib>
Run Code Online (Sandbox Code Playgroud)
所以我注册xyz.taglib.xml在web.xml如下
<context-param>
<param-name>javax.faces.FACELETS_LIBRARIES</param-name>
<param-value>/WEB-INF/xyz.taglib.xml</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)
完成此步骤后,如果我在自定义组件上按Ctrl +空格(Netbeans),我只能看到class, id, parent , rendered, rendererType, transient.所以我尝试xyz.tld在WEB-INF下创建一个这样的
<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.1" 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 …Run Code Online (Sandbox Code Playgroud) 所以让我们选择一个UIComponent HtmlSelectOneRadio(请查看源代码:http://grepcode.com/file/repo1.maven.org/maven2/com.sun.faces/jsf-api/2.1.7/javax/faces/component/ html/HtmlSelectOneRadio.java#HtmlSelectOneRadio)
因此,有些setter会调用方法handleAttribute(...),有些则不会
public void setDir(java.lang.String dir) {
getStateHelper().put(PropertyKeys.dir, dir);
handleAttribute("dir", dir);
}
public void setDisabled(boolean disabled) {
getStateHelper().put(PropertyKeys.disabled, disabled);
}
Run Code Online (Sandbox Code Playgroud)
这对我来说是非常不可思议的handleAttribute,JSF大师可以向我解释一下这个方法尝试完成的原因以及为什么somes属性调用这个方法而其他方法没有?非常感谢
嗨我用这个正则表达式验证号码与小数点分隔符和千分隔符
ets = "\\,";
eds = "\\.";
"^([+\\-]?[0-9" + ets + "]*(" + eds + "[0-9]*)?)$"
Run Code Online (Sandbox Code Playgroud)
但是fail对于我的两个单元测试用例,这个(它不应该接受)
12.,并且1,,2,任何人都可以帮忙吗?
注意:这项工作适合1..2.
我知道如何创建NSPredicate来做sql之类的"SELECT * FROM DRINK".但是这个查询怎么样:
"SELECT I.name, D_I.amount
FROM DRINK_INGREDIENT D_I, DRINK, INGREDIENT I
WHERE D_I.drinkID=1 AND DRINK.drinkID=1 AND I.ingredientID = D_I.ingredientID;"
Run Code Online (Sandbox Code Playgroud)
我如何为这种查询设置NSEntityDescription和NSPredicate?
我知道怎么tag用a id或classin 来引用acss
<table id="cooltable">
<tr>
<td></td>
<td></td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
所以css,你这<table>是指
table#cooltable{
...
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我想引用了<td>在<table>CSS中,我该怎么办呢?