public <E extends Enum> E decode(java.lang.reflect.Field field, int ordinal) {
// TODO
}
Run Code Online (Sandbox Code Playgroud)
假设field.getType().isEnum()是true,我将如何生成给定序数的枚举值?
我正在HttpURLConnection客户端使用在HTTP流(服务器推送)情况下使用响应.虽然服务器可以通过关闭响应来关闭连接,但客户端也需要能够执行此操作.
客户端InputStream在单独的线程中处理,如下所示:
@Override
public void run() {
try {
for (int b = in.read(); b >= 0; b = in.read()) {
char c = (char) b;
// Do something with the character
// ...
}
}
catch (IOException e) {
}
}
Run Code Online (Sandbox Code Playgroud)
因此,当我HttpURLConnection.disconnect()从发起连接的线程调用时(重要的信息是它与处理输入的线程不同),该调用无限期挂起.我甚至把它留在了一夜之间它仍然悬挂着.甚至打电话都Thread.interrupt()没有帮助.
建议?
这是领域:
<h:inputText id="mobilePhoneNo"
value="#{newPatientBean.phoneNo}"
required="true"
requiredMessage="Required"
validator="#{mobilePhoneNumberValidator}"
validatorMessage="Not valid (validator)"
converter="#{mobilePhoneNumberConverter}"
converterMessage="Not valid (converter)"
styleClass="newPatientFormField"/>
Run Code Online (Sandbox Code Playgroud)
验证者:
@Named
@ApplicationScoped
public class MobilePhoneNumberValidator implements Validator, Serializable
{
@Override
public void validate(FacesContext fc, UIComponent uic, Object o) throws ValidatorException
{
// This will appear in the log if/when this method is called.
System.out.println("mobilePhoneNumberValidator.validate()");
UIInput in = (UIInput) uic;
String value = in.getSubmittedValue() != null ? in.getSubmittedValue().toString().replace("-", "").replace(" ", "") : "";
if (!value.matches("04\\d{8}"))
{
throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR, "Please enter a valid mobile …Run Code Online (Sandbox Code Playgroud) 我已经构建了一个仅在不作为Windows服务运行时才有效的应用程序.嗯,服务运行,但它没有做它应该做的事情.该服务使用本地服务帐户.所以为了启动调试,我想我会从简单的事情开始:让它在启动时创建一个目录:
Directory.CreateDirectory(
Environment.SpecialFolder.LocalApplicationData + "\\MyService");
Run Code Online (Sandbox Code Playgroud)
当我启动该服务时,它几乎立即停止,Windows报告了这一事实.当我注释掉上面的语句,重新编译并重新安装时,服务运行没有停止.
显然上面的行引发了某种异常.我无法记录错误,因为我无法写入文件系统.任何想法为什么本地服务无法在自己的%LOCALAPPDATA%中创建目录?
鉴于我想要在这样的页面上安排的集合:
<!-- Group 0 -->
<div style="float:left;">
<div><!-- Item 0 --></div>
<div><!-- Item 1 --></div>
<!-- ... -->
<div><! -- Item n - 1 --></div>
</div>
<!-- Group 1 -->
<div style="float:left;">
<div><!-- Item n --></div>
<div><!-- Item n + 1 --></div>
<!-- ... -->
<div><! -- Item 2n - 1 --></div>
</div>
<!-- ... -->
<!-- Group g -->
<div><!-- Item gn --></div>
<div><!-- Item gn + 1 --></div>
<!-- ... -->
<div><! -- Item (g + 1)n - …Run Code Online (Sandbox Code Playgroud) 使用jscodeshift,我该如何转换
// Some code ...
const someObj = {
x: {
foo: 3
}
};
// Some more code ...
Run Code Online (Sandbox Code Playgroud)
到
// Some code ...
const someObj = {
x: {
foo: 4,
bar: '5'
}
};
// Some more code ...
Run Code Online (Sandbox Code Playgroud)
?
我努力了
module.exports = function(file, api, options) {
const j = api.jscodeshift;
const root = j(file.source);
return root
.find(j.Identifier)
.filter(path => (
path.node.name === 'someObj'
))
.replaceWith(JSON.stringify({foo: 4, bar: '5'}))
.toSource();
}
Run Code Online (Sandbox Code Playgroud)
但我最终得到的是
// Some code ...
const …Run Code Online (Sandbox Code Playgroud) 我有一个在Jersey上运行的RESTful Web服务(GlassFish 3.1.1).这个有点不寻常 - 它使用HTTP流.客户端和服务器有一个长时间运行的对话,在这些对话中,他们不断发送编码为XML标签的消息.这样做的主要原因是服务器可以推送到客户端.
我有一个使用的测试客户端HttpURLConnection.问题是客户端OutputStream或服务器的InputStream过早关闭.当我尝试从客户端发送一些XML时,我得到一个ProtocolException抛出(读取输入后无法写入输出).
当我使用WizTools RESTClient进行测试时,我可以发布XML请求,但此工具不允许保持连接活动.但至少我知道Web服务至少在这种情况下正在运行.(在流媒体场景中可能还不错;我的猜测HttpURLConnection是让我失望.
有没有办法让HttpURLConnection保持活着并给我实际发送东西的机会OutputStream?而且,最重要的是,有没有办法让它OutputStream在通过InputStream?接收数据后继续写入?
更新:
它看起来像是HttpURLConnection强制执行HTTP的传统用法,即客户端在完全发送请求(并关闭输出流)之前无法处理响应.是否存在允许请求和响应暂时重叠的替代方案?我刚开始看Apache HttpClient,但我还没有找到任何表明它可能的东西,所以我不确定我是否在浪费时间.
我刚注意到<h:outputStylesheet/>有一个转换器属性.将虚拟(直通)转换器连接到它后,没有任何反应.仔细观察,尽管点击浏览器刷新按钮,似乎甚至没有调用转换器.
这个属性对任何事都有好处吗?它只是作为各种设计决策的副作用吗?
我问的原因是,用较少或类似的方式执行一些客户端或服务器端的css处理会很好,我认为这个属性可能会有所帮助.
我的页面/ bean的preRenderView事件在第一页加载时被触发两次,然后2 + n每次回发被触发,其中n是已经发生的回发数(包括当前的回发数).
在这里阅读了一些其他帖子后,我搬到了<f:event type="preRenderView" listener="myBean.preRenderView"/>外面,<f:metadata/>这减少了preRenderView一个电话的数量.也就是说,在整页加载和1 + n每次回发的时间上调用一次.我甚至试图将<f:event/>标签移到外面<f:view/>,但它没有效果.
我不确定这是否相关:页面使用模板:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:fb="http://www.facebook.com/2008/fbml">
<f:view contentType="text/html">
<ui:insert name="metadata"/>
<h:head>
<!-- Some stuff here -->
<ui:insert name="content"/>
<!-- More stuff here -->
</h:head>
<h:body>
</h:body>
</f:view>
</html>
Run Code Online (Sandbox Code Playgroud)
以及页面的相关位:
<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:ui="http://java.sun.com/jsf/facelets">
<h:head>
<title></title>
</h:head>
<h:body>
<ui:composition template="/WEB-INF/templates/myLayout.xhtml">
<ui:define name="windowTitle">My Page</ui:define>
<ui:define name="metadata">
<f:event type="preRenderView" listener="#{myBean.preRenderView}"/>
</ui:define>
<ui:define …Run Code Online (Sandbox Code Playgroud) 我正在构建我想要从一开始就提升的.NET 3.5应用程序.其目的是配置和控制服务.
我无法在Visual Studio 2010中的任何位置找到可用于以这种方式配置应用程序的任何设置.您认为项目属性中的某个复选框会显示"运行提升",但似乎不存在此类设置.
java ×7
jsf-2 ×4
.net ×2
c# ×2
css ×1
enums ×1
facelets ×1
http ×1
javascript ×1
jax-rs ×1
jscodeshift ×1
jsf ×1
post ×1
reflection ×1
uirepeat ×1