小编Nai*_*aba的帖子

带有POJO类而不是接口的GWT AutoBean

我希望有人能为我的问题建议一个简单的解决方案.

我有一个POJO,说:

public class Person
{
    private String name;
    public String getName(){ return name; }
    public void setName(String name){ this.name = name; }
}
Run Code Online (Sandbox Code Playgroud)

我想使用GWT的AutoBean功能将此bean序列化/反序列化为JSON,但AutoBean需要一个接口:

public interface Person
{
    public String getName();
    public void setName(String name);
}
Run Code Online (Sandbox Code Playgroud)

我有一个AutoBeanFactory设置:

public interface PersonFactory extends AutoBeanFactory
{
    AutoBean<Person> person();
}
Run Code Online (Sandbox Code Playgroud)

使用工厂和Person接口,我能够反序列化JSON Person:

PersonFactory personFactory = GWT.create(PersonFactory.class);
AutoBean<Person> autoBeanPerson = AutoBeanCodex.decode(personFactory, Person.class, jsonObject.toString());
Person person = autoBeanPerson.as();
Run Code Online (Sandbox Code Playgroud)

但是,如果我用Person类替换Person接口,我会收到一个AutoBeanFactoryGenerator异常,该异常指出:"com.xxx.xxx.Person不是接口".

如何在简单的POJO中使用AutoBean序列化/反序列化?

gwt serialization json autobean

16
推荐指数
2
解决办法
5904
查看次数

阻止 BeautifulSoup 删除空格

BeautifulSoup 正在删除换行符标签之前的空格:

print BeautifulSoup("<?xml version='1.0' encoding='UTF-8'?><section>    \n</section>")
Run Code Online (Sandbox Code Playgroud)

上面的代码打印:

<?xml version="1.0" encoding="utf-8"?>
<section>
</section>
Run Code Online (Sandbox Code Playgroud)

请注意,节标记后面的四个空格丢失了!有趣的是,如果我这样做:

print BeautifulSoup("<?xml version='1.0' encoding='UTF-8'?><section>a    \n</section>")
Run Code Online (Sandbox Code Playgroud)

我得到:

<?xml version="1.0" encoding="utf-8"?>
<section>a    
</section>
Run Code Online (Sandbox Code Playgroud)

“a”后面的四个空格现在出现了!如何在原始打印语句中显示四个空格?

python whitespace beautifulsoup

5
推荐指数
1
解决办法
1429
查看次数

Android Emulator 使用系留 iPhone 时无法上网

我已经为此苦苦挣扎了几天。

当我使用 iPhone 的互联网连接时,我的 Android 模拟器无法在 Mac OS X 上访问互联网。我经常在旅途中使用此连接,因此当它不起作用时非常令人沮丧。

我尝试了以下方法:

  1. 从命令行设置 DNS 并运行模拟器。

    ./emulator -avd Pixel_2_API_26 -dns-server 8.8.8.8

  2. 从 Mac OS Networking 中删除网络连接,但系留连接除外。

网络接口

  1. 删除并重新安装 AVD。

查看日志,我得到的唯一与网络相关的错误是:

D/NetworkMonitor/NetworkAgentInfo [WIFI () - 101]: PROBE_FALLBACK http://www.google.com/gen_204 Probably not a portal: exception java.net.UnknownHostException: Unable to resolve host "www.google.com": No address associated with hostname
I/qemu-props: start adbd ...
Run Code Online (Sandbox Code Playgroud)

D/NetworkMonitor/NetworkAgentInfo [WIFI () - 101]: PROBE_DNS www.google.com 78245ms FAIL
D/NetworkMonitor/NetworkAgentInfo [WIFI () - 101]: PROBE_HTTPS https://www.google.com/generate_204 Probably not a portal: exception java.net.UnknownHostException: Unable to resolve …
Run Code Online (Sandbox Code Playgroud)

networking android

5
推荐指数
1
解决办法
365
查看次数

从maven $ {project.basedir}获取最后一个文件夹的名称

我对Maven有同样的问题,有人有关于Ant的问题(如何在Ant的基础路径中获取最后一个文件夹的名称?).

你如何从变量$ {project.basedir}获得最后一个目录名?

例如,如果我的pom.xml位于:

/home/me/project/pom.xml

然后$ {project.basedir} =/home/me/project /

我只想要目录名'project'.

谢谢!

maven-2 maven-3 maven

4
推荐指数
1
解决办法
2万
查看次数

如何在Amazon OpsWorks上设置Chef的日志输出级别?

我的问题类似于:如何在控制台中显示Opscode Chef bash命令的输出?

我希望能够看到我正在运行的食谱的控制台输出.特别是,我的配方未能启动JBoss,因为JAVA_HOME没有设置.我花了整整一天的时间才弄明白,因为声明JAVA_HOME is undefined没有打印到Chef输出.运行chef solo时,可以通过附加-l debug命令打开调试输出,如下所示:chef-solo -c solo.rb -j node.json -l debug

但是,在使用Amazon OpsWorks时,没有这样的选项:

sudo opsworks-agent-cli run_command [activity] [date] [/path/to/valid/json.file]
Run Code Online (Sandbox Code Playgroud)

如何添加日志级别run_command

chef-infra aws-opsworks

3
推荐指数
1
解决办法
1839
查看次数

将函数应用于循环项

请考虑以下代码:

f = open('file.txt')

for l in f:
    k = l.strip() # Remove the newline character.
    print(k)

f.close()
Run Code Online (Sandbox Code Playgroud)

我想自动删除换行符.我知道我能做到:

for k in [l.strip() for l in f]:
    print(k)
Run Code Online (Sandbox Code Playgroud)

但这需要循环f两次的长度(并将整个内容加载到内存中).我想知道是否有更像Pythonic的东西:

for lambda l: l.strip() in f:
    print(l)
Run Code Online (Sandbox Code Playgroud)

或者只是:

for l.strip() in f:
    print(l)
Run Code Online (Sandbox Code Playgroud)

当然,这些都不起作用.要了解如何将其应用于其他地方,以下是嵌套列表的示例:

d =  [['hi'], ['hello'], ['howdy']]
for item in d:
    item = item[0] # Get the nested item.
    if item == 'hello':
         print(item)
Run Code Online (Sandbox Code Playgroud)

python iteration loops

0
推荐指数
1
解决办法
2462
查看次数