我想知道是否有可能知道是否ui:insert定义了ui:composition.我知道我可以单独使用它ui:param,但只是想这样做而不是为了保持简单并且不易出错.
示例:
模板
...
<ui:insert name="sidebar" />
<!-- Conditionnaly set the class according if sidebar is present or not -->
<div class="#{sidebar is defined ? 'with-sidebar' : 'without-sidebar'}">
<ui:insert name="page-content" />
</div>
...
Run Code Online (Sandbox Code Playgroud)
第1页
...
<ui:define name="sidebar">
sidebar content
</ui:define>
<ui:define name="page-content">
page content
</ui:define>
...
Run Code Online (Sandbox Code Playgroud)
第2页
...
<ui:define name="page-content">
page content
</ui:define>
...
Run Code Online (Sandbox Code Playgroud) List包含对象类型,但我需要检查该对象是否是类型A或B:
A a = new A();
B b = new B();
List<A> aL = new ArrayList<A>();
List<B> bL = new ArrayList<B>();
Run Code Online (Sandbox Code Playgroud)
如何检查是否List包含A对象或B对象?
这是代码:
SegmentDetailInfo segmentDetailInfo = new SegmentDetailInfo();
segmentDetailInfo.setSeg_Id("1");
SegReqInfoBean segReqInfoBean = new SegReqInfoBean();
segReqInfoBean.setPageName("homepage");
List<SegmentDetailInfo> rhsList1 = new ArrayList<SegmentDetailInfo>();
rhsList1.add(segmentDetailInfo);
List<SegReqInfoBean> rhsList2 = new ArrayList<SegReqInfoBean>();
rhsList2.add(segReqInfoBean);
doProspecListCompareCheck(rhsList1);
doProspecListCompareCheck(rhsList2);
}
private static void doProspecListCompareCheck(Object rhsList) {
if (rhsList instanceof List<SegmentDetailInfo>) //wrong Check
//DoTHIS
else if(rhsList instanceof List<SegReqInfoBean>) //wrong Check …Run Code Online (Sandbox Code Playgroud) 我想p:selectOneMenu宽度是关于父细胞的自动关于它有的值.
<p:panelGrid>
<p:row>
<p:column><p:outputLabel value="Value01" for="idInput01"/></p:column>
<p:column><p:inputText value="#{bean.input01}" id="idInput01" /></p:column>
<p:column><p:outputLabel value="Value02" for="idSelect" /></p:column>
<p:column>
<p:selectOneMenu value="#{bean.selectedObject}" id="idSelect" converter="objectConverter">
<f:selectItems value="#{bean.objectsList}" var="varObject" itemLabel="#{varObject.label}" itemValue="#{varObject}" />
</p:selectOneMenu>
</p:column>
</p:row>
</p:panelGrid>
Run Code Online (Sandbox Code Playgroud)
我得到了什么:

我期待的是:

注意:我不想指定固定宽度.
有没有办法使用标准的jsf-taglibs,它<link>在浏览器中呈现?我的主要目标是生成一个看起来像这样的favicon链接:
<link href="/portal/faces/javax.faces.resource/image/favicon.ico?ln=some.lib" rel="shortcut icon" type="image/x-icon" />
我正在写很多东西来登录突发,并优化数据路径.我用它构建日志文本StringBuilder.什么是最有效的初始容量,内存管理明智,所以无论JVM如何都能很好地工作?目标是避免重新分配几乎总是,应该由初始容量约80-100覆盖.但是我也希望浪费尽可能少的字节,因为StringBuilder实例可能会在缓冲区中出现并且会浪费掉浪费的字节.
我意识到这取决于JVM,但是应该有一些值,这会浪费最少的字节,无论JVM,还是"最小公分母".我目前正在使用128-16,其中128是一个很好的整数,减法用于分配开销.此外,这可能被认为是"过早优化"的情况,但由于我所追求的答案是一个"经验法则"数字,因此知道它在将来也会有用.
我不期待"我最好的猜测"答案(上面我自己的答案已经是这样),我希望有人已经研究过这个并且可以分享基于知识的答案.
我的目标是将屏幕宽度,高度等放入JSF中的会话bean中.根据我发现的例子中,要做到这一点的方法是添加一个参数去一个命令与JavaScript的是一个值.然后将该值传输到assignTo bean变量.应该使用noEscape属性,以便传递值而不是变量名.
这几乎可行.发生的事情是文字变量名称,例如"screen.height"在bean中而不是数字,例如600.我尝试更改它以便它调用脚本函数,但这没有帮助.(注意,我将params放在commandButton中,因为示例显示了这种方式,这个按钮是一个方便的地方,无论如何它都需要它).
我有以下代码
<h:commandButton value="Log In" action="#{loginBean.login}" styleClass="buttons">
<a4j:param name="w" value="getWidth()" assignTo="#{browser.screenWidth}" noEscape="true" />
<a4j:param name="h" value="screen.height" assignTo="#{browser.screenHeight}" noEscape="true" />
<a4j:param name="a" value="navigator.userAgent" assignTo="#{browser.userAgent}" noEscape="true" />
</h:commandButton>
Run Code Online (Sandbox Code Playgroud)
哪里
<script>
function getWidth() {
return screen.width;
}
</script>
Run Code Online (Sandbox Code Playgroud)
同样,具体问题是我将变量名称放入bean中,而不是变量值.任何帮助将非常感激.
我有一个jsp页面,里面有一些链接.
<div id="menu">
<span></span>
<ul class="nav">
<li class="top_border"></li>
<li class="item3"><a href="">Polos</a></li>
<li class="item4"><a href="">Blouses</a></li>
<li class="item5"><a href="">Sweaters</a></li>
<li class="item6"><a href="">Pants </a></li>
<li class="item7"><a href="">Jeans</a></li>
<li class="item8"><a href="">Jackets</a></li>
<li class="item9"><a href="">Footwear</a></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
我为这一个写了风格,如下所示
ul.nav li a:hover {
background: #ebebeb url(images/border.png) no-repeat;
color: red;
padding: 7px 15px 7px 30px;
}
Run Code Online (Sandbox Code Playgroud)
当我将鼠标悬停时,颜色会发生变化,当我点击该链接时,会打开该链接的相应页面.之后,它变得像以前一样正常.我想在当前页面的链接上应用该样式.我该怎么做?我正在使用JSP.
项目背景
我从头创建了一个带有两个主要组件的URL重写:
public class URLFilter implements Filter
{
...
}
public class URLViewHandler extends GlobalResourcesViewHandler
{
...
}
Run Code Online (Sandbox Code Playgroud)
第一个类用于将干净的 URL 转发到右视图,每个页面的ID不同.第二个类重写该函数,getActionURL()以便h:form ajax函数继续工作.
这些类翻译如下:
Real URL Internal URL
/ <-> page.jspx?key=1
/contact <-> page.jspx?key=2
/projects/management <-> page.jspx?key=3
etc
Run Code Online (Sandbox Code Playgroud)
当前解决方案
我现在的问题是我的用户登录和注销按钮:
<!-- Login button used if user is not logged, go to a secured page (which display error message). If he log with this button, the current page is reloaded and displayed properly. This button works perfectly --> …Run Code Online (Sandbox Code Playgroud) 感谢您抽出宝贵时间进行审核,并就我的简单问题提出建议.我正在为我正在工作的练习寻求解决方案.
我想知道如何编写这个数组的内容:
@points = [1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)
到这个字符串:
saved_points1 = "SAVED_POINTS2 = [%s]" % [@points]
Run Code Online (Sandbox Code Playgroud)
这样当打印saved_points1时,它会打印:
"SAVED_POINTS2 = [1, 2, 3, 4]"
Run Code Online (Sandbox Code Playgroud)
现在,我在打印时看到了这个:
"SAVED_POINTS2 = [1234]"
Run Code Online (Sandbox Code Playgroud)
我有一种感觉,也许这可能是一个红宝石版本的问题.我在1.8.7.也许如果我在1.9.x上阵列将按预期打印?或者是否有不同/更好的方法来保存,读取,然后打印此操作?
如果它有所不同,SAVED_POINTS2存在于实例化时我需要的模块中.我正在使用该模块中的变量来加载/保存我的新类的值(@points存在于其中).我敢打赌,这不是保存状态的正确方法,但这是我知道如何在我目前的红宝石理解水平上做到这一点的唯一方法.所以,我不一定在寻找更好的保存状态方法的建议,因为我想确保我先了解如何从这些数组中正确读/写.但如果你得到了我认为我明白的建议,我很乐意听到.
(function(global, $data, undefined) {
$data.Entity.extend('TodoDBModel.TodoItem', {
'Id': { key:true,type:'Edm.Guid',nullable:false,required:true },
'InSync': { type:'Edm.Boolean',nullable:false,required:true }
});
})(window, $data);
Run Code Online (Sandbox Code Playgroud)
这个简单的函数还是任何类型的类?
我们如何定义这些参数global, $data, undefined以及以函数括号和(window, $data)参数结尾的最后一行代码?
说我有这个template.xhtml:
<div class="span4">
<ui:insert name="column1">
<h2>#{heading}</h2>
<p>#{paragraph}</p>
</ui:insert>
</div>
Run Code Online (Sandbox Code Playgroud)
我想做的是这样的:
<ui:composition template="template.xhtml">
<ui:define name="column1">
<ui:param name="heading" value="My Heading" />
<ui:param name="paragraph" value="My Paragraph" />
</ui:define>
</ui:composition>
Run Code Online (Sandbox Code Playgroud)
但是,它不起作用.我既看不到标题,也看不到段落.
我究竟做错了什么?
我不想使用变量.

我试过foreach (Dictionary<int, SalesRecord> sale in SalesRecords)
但是foreach抛出的错误说我不能隐蔽类型.