使用Java String.format()如何格式化字符串以产生"Time-userId"(即3:02 pm-joe user).
我已经进行了几次迭代,我认为这是分钟和上午/下午之间的空间让我失望.我的最后一次迭代是
String.format("%1$tl:%1$tM %1$tp - %2s", new Date(), "joe user");
Run Code Online (Sandbox Code Playgroud)
我即将打平并使用SimpleDateFormat,但我想先问一下这里.
我在JSF页面上使用jQuery UI模式对话框,该对话框div中还有primefaces组件.当我将modal属性设置为true时,叠加层也会覆盖对话框内容.这是我的对话框定义:
if (jQuery("#rangeChoice").val() == 'Custom') {
jQuery("#rangeDialog").dialog({
modal: true,
draggable: false,
minHeight: 375, minWidth: 450,
resizable: false,
title: 'Create Custom Date Range',
closeOnEscape: false,
open: function(event, ui) { jQuery(".ui-dialog-titlebar-close").hide(); }
});
return;
}
Run Code Online (Sandbox Code Playgroud)
以及我对div的内容:
<div id="rangeDialog" style="display: none;">
<div class="customRangeButtons" style="z-index: 4999;">
<!-- Clipped for brevity, the buttons alone are covered by the overlay -->
<span>
<p:commandButton value="Cancel" actionListener="#{bean.cancelCDR}" update="pGraphs"/>
</span>
<span style="margin-left: 300px;">
<p:commandButton value="Submit" type="submit" action="#{bean.saveCDR()}" update="pGraphs"/>
</span>
</div>
Run Code Online (Sandbox Code Playgroud)
我正在使用Primefaces 2.2.1,我有一种感觉与谁控制叠加div有关.我确实尝试在页面中添加我自己的叠加div并在非模态对话框的打开事件中显示它.它还覆盖了z-index值> 3的对话框.虽然页面上的其他一些控件高于该值,但值1和2都没问题.请注意,这是使用ap:dialog的一种解决方法,因为它导致我的actionListeners不会触发.
我还能尝试什么?
我似乎没有收到任何INFO级别的消息到Additions.log或Deletions.log,即使我看到日志行在调试器中执行.这是我的log4j.properties文件:
log4j.file.home=.
log4j.rootLogger=INFO, dest1
log4j.rootCategory=INFO, dest1
log4j.logger.org.hibernate=ERROR
log4j.category.dest1=INFO
log4j.appender.dest1=org.apache.log4j.ConsoleAppender
log4j.appender.dest1.layout=org.apache.log4j.PatternLayout
log4j.appender.dest1.layout.ConversionPattern=%-22d{dd/MMM/yyyy HH:mm:ss} %-8p %c [%t] - %m (%l)%n
#Log items that are being added
log4j.logger.Additions=INFO
log4j.additivity.Additions=false
log4j.appender.Additions=org.apache.log4j.RollingFileAppender
log4j.appender.Additions.File=${log4j.file.home}/Additions.log
log4j.appender.Additions.MaxFileSize=10000KB
log4j.appender.Additions.MaxBackupIndex=10
log4j.appender.Additions.layout=org.apache.log4j.PatternLayout
log4j.appender.Additions.layout.ConversionPattern=%-22d{dd/MMM/yyyy HH:mm:ss} %-8p %c [%t] - %m (%l)%n
#Log items that are being removed
log4j.logger.Deletions=INFO
log4j.additivity.Deletions=false
log4j.appender.Deletions=org.apache.log4j.RollingFileAppender
log4j.appender.Deletions.File=${log4j.file.home}/Deletions.log
log4j.appender.Deletions.MaxFileSize=10000KB
log4j.appender.Deletions.MaxBackupIndex=10
log4j.appender.Deletions.layout=org.apache.log4j.PatternLayout
log4j.appender.Deletions.layout.ConversionPattern=%-22d{dd/MMM/yyyy HH:mm:ss} %-8p %c [%t] - %m (%l)%n
Run Code Online (Sandbox Code Playgroud)
这是从课堂上获取我的记录器:
private static Logger addLog = Logger.getLogger("Additions");
private static Logger deleteLog = Logger.getLogger("Deletions");
Run Code Online (Sandbox Code Playgroud)
我还需要解决哪些问题来解决这个问题?
有人知道我是否可以在我的云格式模板配置文件中设置电子邮件主题和电子邮件消息字段吗?
它出现在AWS文档,这些字段不可用。
我开始调试一些试图找出错误的代码.当我尝试p tlEntries
从调试器中获取时
<variable optimized away by compiler>
在if
语句上停止的消息.以下是我的代码:
NSArray *tlEntries = [[NSArray alloc] initWithArray:[self fetchJSONValueForURL:url]];
for (NSDictionary *info in tlEntries)
{
if ([info objectForKey:@"screen_name"] != nil)
NSLog(@"Found %@ in the timeline", [info objectForKey:@"screen_name"]);
}
Run Code Online (Sandbox Code Playgroud)
早期的调试让我相信URL确实返回了有效的NSArray
,但我不明白为什么tlEntries
被"优化掉".
给出以下代码:
params = {:async => true, :contact_id => "101"}
puts "async is #{params['async']}"
if params['async'] == true
puts "Do async stuff"
# TODO Launch background task
return [204, {}, ['']]
end
Run Code Online (Sandbox Code Playgroud)
"Do async stuff"
当我看到输出时,为什么我永远不会得到线"async is true"
?