我有关于使用StringBuilder的性能相关问题.在一个很长的循环中,我正在操纵a StringBuilder
并将其传递给另一个方法,如下所示:
for (loop condition) {
StringBuilder sb = new StringBuilder();
sb.append("some string");
. . .
sb.append(anotherString);
. . .
passToMethod(sb.toString());
}
Run Code Online (Sandbox Code Playgroud)
StringBuilder
在每个循环周期实例化是一个很好的解决方案吗?并且更好地调用删除,如下所示?
StringBuilder sb = new StringBuilder();
for (loop condition) {
sb.delete(0, sb.length);
sb.append("some string");
. . .
sb.append(anotherString);
. . .
passToMethod(sb.toString());
}
Run Code Online (Sandbox Code Playgroud) 添加后,我在一个非常简单的JSF 2页面中面临以下异常<h:form>
:
java.lang.IllegalStateException: Cannot create a session after the response has been committed
at org.apache.catalina.connector.Request.doGetSession(Request.java:2758)
at org.apache.catalina.connector.Request.getSession(Request.java:2268)
Run Code Online (Sandbox Code Playgroud)
我在Tomcat 7.0.22和JDK 7上使用Mojarra 2.1.3和PrimeFaces3.0M4.
该页面是一个非常基本的数据表:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<h:body>
<h:form>
<p:dataTable var="car" value="#{tableBean.cars}">
......
</p:dataTable>
</h:form>
</h:body>
</html>
Run Code Online (Sandbox Code Playgroud)
页面在浏览器上正确显示,但在控制台上我看到了异常.如果我删除了,Exception确实会消失<h:form>
.
这是怎么造成的,我该如何解决?
我读过JSF文档中ResponseStateManager
有一个isPostBack()
方法.我如何(以及在哪里)拥有一个实例ResponseStateManager
?
我的javascript体验中最困难的问题之一是iframe高度的正确(即"跨浏览器")计算.在我的应用程序中,我有很多动态生成的iframe,我希望它们都在load事件结束时进行一种自动调整以调整它们的高度和宽度.
在高度计算的情况下,我的最佳解决方案是以下(在jQuery的帮助下):
function getDocumentHeight(doc) {
var mdoc = doc || document;
if (mdoc.compatMode=='CSS1Compat') {
return mdoc.body.offsetHeight;
}
else {
if ($.browser.msie)
return mdoc.body.scrollHeight;
else
return Math.max($(mdoc).height(), $(mdoc.body).height());
}
}
Run Code Online (Sandbox Code Playgroud)
我没有成功搜索互联网.我还测试了雅虎库,它有一些文档和视口尺寸的方法,但它并不令人满意.我的解决方案工作正常,但有时它会计算出更高的高度.我已经在Firefox/IE/Safari中研究并测试了大量有关文档高度的属性:documentElement.clientHeight, documentElement.offsetHeight, documentElement.scrollHeight, body.offsetHeight, body.scrollHeight, ...
jQuery在各种浏览器中也没有连贯的行为$(document.body).height(), $('html', doc).height(), $(window).height()
我不仅在加载事件结束时调用上述函数,而且在动态插入DOM元素或隐藏或显示的元素的情况下也调用上述函数.这种情况有时会破坏仅在load事件中起作用的代码.
有人有真正的跨浏览器(至少是Firefox/IE/Safari)解决方案吗?一些提示或提示?
在我的javascript体验中,我发现这是一个非常常见的任务"搜索具有某些条件的元素的最近祖先(标记名称,类,...)".jquery的parents()方法可以完成这项工作吗?parent()的返回元素的顺序是可预测的吗?从上到下还是从下到上?目前我使用这个实用功能:
function ancestor(elem, selector) {
var $elem = $( elem ).parent();
while( $elem.size() > 0 ) {
if( $elem.is( selector ) )
return $elem;
else
$elem = $elem.parent();
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
有人能告诉我是否有聪明的方法来完成这项工作?
我需要在文本输入中更改字符'.' 输入时'',' 在IE中,我更改了keypress事件中的keyCode事件属性,就像这样
document.getElementById('mytext').onkeypress =
function (evt) {
var e = evt || window.event;
if (e.keyCode && e.keyCode==46)
e.keyCode = 44;
else if (e.which && e.which==46) {
e.which = 44;
}
};
Run Code Online (Sandbox Code Playgroud)
但它表明,在Firefox中,不可能更改键事件中键入的字符.有什么建议?
好吧,我承认:我已广泛使用jQuery.attr在多个很多脚本中的DOM元素中存储自定义数据.我想知道是否将我的所有脚本转换为使用jQuery.data而不是jQuery.attr.据我所知,jQuery.data的优点是:
自定义属性的主要优点是:
有人可以告诉我,如果我错过了某些东西,或者是否存在使jQuery.data更受欢迎的问题?
嗨,我惊奇地发现在Chrome浏览器中调用窗口父javascript函数时出现问题.如果我有一个窗口,其中定义了javascript函数
<script type="text/javascript">
function dolink() {
. . .
}
</script>
Run Code Online (Sandbox Code Playgroud)
我在该窗口中有一个使用jquery进行此调用的iframe
<script type="text/javascript">
$(function() {
$('a.arglink').click(function() {
window.parent.dolink($(this).attr('href'));
return false;
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
对dolink函数的调用不起作用.使用chrome javascript调试器步进,似乎window.parent.dolink 未定义.这是设计还是我犯的错误?在Firefox和IE中它工作正常.
我正在使用iText 5.2.1,我尝试使用带有alpha通道的BaseColor构造函数,即
public BaseColor(final int red, final int green, final int blue, final int alpha)
Run Code Online (Sandbox Code Playgroud)
但是当我实际绘制文本或形状时,似乎没有考虑alpha通道.例如,如果我试试这个
Font f = ....;
f.setColor(new BaseColor(130, 130, 130, 50);
PdfContentByte cb = writer.getDirectContent();
ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("my text", f),
refPointX, refPointY, 0);
Run Code Online (Sandbox Code Playgroud)
它用指定的颜色书写但没有alpha信息的文本,即100%不透明度的颜色.如果我尝试绘制一些形状并指定具有透明度的填充颜色,则会发生同样的情况.
在iText in Action第二版中,没有关于颜色透明度的内容.
我错了吗?
我正在尝试将特定的CSS类分配给我的特定行<h:dataTable>
.有没有办法访问和cutomize结果表行?