在我的代码中,我需要找到今天发生的所有事情.因此,我需要将今天上午00:00(今天凌晨的午夜)至今晚午夜(今晚午夜)的日期进行比较.
我知道 ...
Date today = new Date();
Run Code Online (Sandbox Code Playgroud)
......马上找我 而......
Date beginning = new Date(0);
Run Code Online (Sandbox Code Playgroud)
...让我在1970年1月1日零时间.但是今天零时间和明天零时间的简单方法是什么?
更新; 我做到了这一点,但肯定有一种更简单的方法吗?
Calendar calStart = new GregorianCalendar();
calStart.setTime(new Date());
calStart.set(Calendar.HOUR_OF_DAY, 0);
calStart.set(Calendar.MINUTE, 0);
calStart.set(Calendar.SECOND, 0);
calStart.set(Calendar.MILLISECOND, 0);
Date midnightYesterday = calStart.getTime();
Calendar calEnd = new GregorianCalendar();
calEnd.setTime(new Date());
calEnd.set(Calendar.DAY_OF_YEAR, calEnd.get(Calendar.DAY_OF_YEAR)+1);
calEnd.set(Calendar.HOUR_OF_DAY, 0);
calEnd.set(Calendar.MINUTE, 0);
calEnd.set(Calendar.SECOND, 0);
calEnd.set(Calendar.MILLISECOND, 0);
Date midnightTonight = calEnd.getTime();
Run Code Online (Sandbox Code Playgroud) 我有类似的东西:
String text = "The user {0} has email address {1}."
// params = { "Robert", "myemailaddr@gmail.com" }
String msg = MessageFormat.format(text, params);
Run Code Online (Sandbox Code Playgroud)
这对我来说并不好,因为有时候我的翻译人员不确定{0}和{1}中的内容是什么,也可以在不担心args顺序的情况下重新编写消息.
我想用可读的名称而不是数字替换参数.像这样的东西:
String text = "The user {USERNAME} has email address {EMAILADDRESS}."
// Map map = new HashMap( ... [USERNAME="Robert", EMAILADDRESS="myemailaddr@gmail.com"]
String msg = MessageFormat.format(text, map);
Run Code Online (Sandbox Code Playgroud)
是否有捷径可寻?
谢谢!抢
我怎么可以注入的依赖一样@EJB,@PersistenceContext,@Inject,@AutoWired,等的@FacesConverter?在我的具体情况下,我需要通过@EJB以下方式注入EJB :
@FacesConverter
public class MyConverter implements Converter {
@EJB
protected MyService myService;
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
// myService.doSomething
}
}
Run Code Online (Sandbox Code Playgroud)
然而,它没有被注射并且仍然存在null,导致NPE.看来,@PersistenceContext和@Inject也不起作用.
如何在转换器中注入服务依赖项以便我可以访问数据库?
我正在使用h:outputText标签来显示只读数据.例如:
<h:outputText value="Phone Number:" />
<h:outputText value="#{userHandler.user.phoneNumber}" />
Run Code Online (Sandbox Code Playgroud)
当"phoneNumber"是空字符串或null时,我想显示短划线" - "作为值.
有没有简单的方法可以使用表达式语言或其他东西?
顺便说一句,我考虑过向User类添加方法,比如可以在内部进行检查的getPhoneNumberDisplayText(),但是因为它是一个视图问题,所以我宁愿将代码保存在JSF页面中.
我有一个简单的HTML表单.我想在第二列(文本字段,combox等)中使用正确的小部件来拉伸和填充整列.
我的HTML看起来像这样:
<table class="formTable">
<tr>
<td class="col1">Report Number</td>
<td class="col2"><input type="text"/></td>
</tr>
<tr>
<td class="col1">Report Type</td>
<td class="col2"><select></select></td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
我的CSS看起来像这样:
.formTable {
border-color: black;
}
.formTable td {
padding: 10px;
}
.formTable .col1 {
text-align: right;
}
.formTable .col2 {
width: 100%;
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我正在使用JSF2,GlassFish 3.1,PrimeFaces 2.x.
我在IE9上遇到奇怪的渲染问题.我应该能够通过插入以下内容强制IE9呈现为IE9:
<html>
<head>
<!-- Enable IE9 Standards mode -->
<meta http-equiv="X-UA-Compatible" content="IE=9" />
...
Run Code Online (Sandbox Code Playgroud)
但事实是,它不起作用,因为(我被告知)元标记必须是该部分中的第一个标记.
当我在我的XHTML文件中执行此操作时...
<html ...>
<f:view contentType="text/html" locale="#{loginHandler.currentLocale}">
<h:head>
<!-- Enable IE9 Standards mode -->
<meta http-equiv="X-UA-Compatible" content="IE=9" />
Run Code Online (Sandbox Code Playgroud)
生成的HTML看起来像这样,其中JSF/PrimeFaces在我的新元标记之前插入了一堆"链接"和"脚本"标记.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link type="text/css" rel="stylesheet" href="/orcf-webui/javax.faces.resource/jquery/ui/jquery-ui.css.jsf?ln=primefaces&v=2.2" />
<link type="text/css" rel="stylesheet" href="/orcf-webui/javax.faces.resource/wijmo/wijmo.css.jsf?ln=primefaces&v=2.2" />
<script type="text/javascript" src="/orcf-webui/javax.faces.resource/jquery/jquery.js.jsf?ln=primefaces&v=2.2"></script>
<script type="text/javascript" src="/orcf-webui/javax.faces.resource/jquery/ui/jquery-ui.js.jsf?ln=primefaces&v=2.2"></script>
<!-- Enable IE9 Standards mode -->
<meta http-equiv="X-UA-Compatible" content="IE=9" />
Run Code Online (Sandbox Code Playgroud)
有没有办法让我的元标记在正确的位置,以便它可以工作?(或者让IE9问题消失的另一种方法是什么?
我正在使用WebSphere 7(Java EE 5)和OpenJPA 1.2.1.
我有一个带有" modifiedTimestamp"属性的JPA对象,如下所示:
@Entity
public class Widget {
/* ... */
private java.sql.Date modifiedTimestamp;
/* ... */
}
Run Code Online (Sandbox Code Playgroud)
Oracle数据库中的相关字段属于类型DATE.
我这样设定日期......
myWidget.setModifiedTimestamp(new java.sql.Data(System.currentTimeMillis());
Run Code Online (Sandbox Code Playgroud)
...并且它被存储,但是当我读回它时,时间没有存储,它允许返回到24:00.
这是JPA的东西还是Oracle的东西?任何建议都非常感谢!
谢谢
我在a <select>和a中有一个组列表,<input type="button" value="Add Selected">用于将所选组添加到<table>值中.
已添加的组列表显示在a中<table>,每次单击"添加所选项"按钮时,javascript会动态添加行.表中的每一行都有一个"删除"链接,用于从表中删除该项.
一切正常,除了现在我想将表的内容POST到URL,我不知道如何做到这一点.
我应该为表格中的每一行添加隐藏字段吗?或者有更好的方法吗?
任何建议都非常感谢!
抢
我在GlassFish上使用JSF 2和PrimeFaces 2.1.
我有一个页面,旨在允许人们在关注回调URL后执行操作(例如,作为电子邮件中嵌入的链接或某些外部身份验证或支付服务的回调URL参数).在我的情况下,我需要重置密码.回调URL有一个tokenGET参数,如下所示:
http://example.com/app/resetPasswordForm.jsf?token=abc123
在页面加载时resetPasswordForm.jsf,我需要检查令牌是否有效并重定向到主应用程序屏幕,如果它无效.
我的想法是有一个bean方法,如:
public String resetPasswordHandler.showResetForm(String token) {
if /* token is valid */ {
return "resetPasswordForm.jsf";
} else {
return "main.jsf";
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如何在页面加载时使该方法受到影响?
不知道如何进行 - 欢迎提出建议.
我正在使用带有SVN插件的Eclipse(Indigo).
我在项目视图中右键单击,选中Team > Synchronize With Repository,然后它提示"我们要切换到同步透视图?好?' - 我错误地检查了"记住我的决定"复选框,然后点击了"否".
所以现在当我进行'同步'时,它并没有把我带到Sync视角.我如何告诉Eclipse我改变了主意,让它向我展示同步时的Sync视角?