小编Mr *_* T.的帖子

从chrome扩展获取当前页面的源HTML

我有一个chrome扩展名.我需要从当前页面的HTML源代码进行分析.我在这里找到了各种带有背景页面和内容脚本的解决方案,但没有人帮助我.这是我到目前为止:
manifest.json:

{
  "name": "Extension",
  "version": "1.0",
  "description": "Extension",
  "browser_action": {
    "default_icon": "bmarkred.ico",
    "popup": "Test.html"
  },
  "content_scripts": [
    {
      "matches": ["http://*/*"],
      "js": ["content.js"]
    }
  ],
  "background": {
    "page": "backgroundPage.html"
  },
  "permissions": [
    "cookies",
    "tabs",
    "http://*/*", 
    "https://*/*"
  ]
}
Run Code Online (Sandbox Code Playgroud)

background.html:

<html>
<head>
<script type="text/javascript">
    try {
        chrome.tabs.getSelected(null, function (tab) {
            chrome.tabs.sendRequest(tab.id, {action: "getSource"}, function(source) {
                alert(source);
            });
        });
    }
    catch (ex) {
        alert(ex);
    }
</script>
</head>
</html>
Run Code Online (Sandbox Code Playgroud)

content.js:

chrome.extension.onRequest.addListener(function(request, sender, callback) {
    if (request.action == "getSource") {
        callback(document.getElementsByTagName('html')[0].innerHTML);
    }
});
Run Code Online (Sandbox Code Playgroud)

警报始终警告未定义.即使我在content.js文件中将回调函数更改为: …

html google-chrome-extension

74
推荐指数
1
解决办法
9万
查看次数

printf无法在控制台上打印

我开始用C语言了.我使用eclipse(juno)作为我的IDE并安装了CDT插件.我还解压缩了mingw64(GCC编译器).我写了一个非常简单的程序,看它是否有效.这是我的代码:

#include <stdio.h>

int main()
{
    int age;
    printf("Hello, please enter your age:\n");
    scanf("%d", &age);
    printf("Your age is %d", age);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

问题是输出缓冲区填充了第一个字符串的值,printf但不会将其输出到控制台.我必须输入一个数字,然后只有缓冲区将所有数据倒入控制台,所以我看到控制台是这样的:

1
Hello, please enter your age:
Your age is 1
Run Code Online (Sandbox Code Playgroud)

而不是预期的:

Hello, please enter your age:
1
Your age is 1
Run Code Online (Sandbox Code Playgroud)

现在,我发现我可以fflush(stdout)在第一个之后使用,printf但我不认为这个解决方案是优雅的,甚至是必要的.关于如何克服这个问题的任何想法?

编辑 - 因为我在大学里学习这个,我不能使用课程中没有学到的东西,所以我只能使用printfscanf

新编辑 - 我想我已经找到了解释.正如我所说,我正在输出到Eclipse内的控制台视图.奇怪的是,如果我从Windows的命令行编译并运行程序,我得到想要的结果.因此,我认为eclipse实际上是将输出写入文件并在控制台窗口中显示.如何强制eclipse在我的运行配置中打开一个真正的命令行窗口?

c eclipse printf gcc scanf

37
推荐指数
5
解决办法
16万
查看次数

spring mvc form:选择标签

我有一个Model,它包含一个States(List)列表和一个包含Country对象的用户对象.我认为用户可以选择他的国家.
这是我的jsp页面的片段:

<form:select path="user.country">
    <form:option value="-1">Select your country</form:option>
    <form:options items="${account.countries}" itemLabel="name" itemValue="id" />
</form:select>
Run Code Online (Sandbox Code Playgroud)

这是我的帐户模型:

public class Account {

    private User user;
    private List<Country> countries;

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    public List<Country> getCountries() {
        return countries;
    }

    public void setCountries(List<Country> countries) {
        this.countries = countries;
    }
}
Run Code Online (Sandbox Code Playgroud)

当jsp加载(GET)表单时:select显示当前用户所在国家/地区的选定项目.问题是,当我发布表单时,我得到这个例外:

Field error in object 'account' on field 'user.country': rejected value [90];
  codes [typeMismatch.account.user.country,typeMismatch.user.country,typeMismatch.country,typeMismatch.org.MyCompany.entities.Country,typeMismatch];
  arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [account.user.country,user.country];
  arguments []; default message …
Run Code Online (Sandbox Code Playgroud)

java forms spring types spring-mvc

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

django postgresql json字段模式验证

我有一个django模型与JSONField(django.contrib.postgres.fields.JSONField)有什么办法可以验证模型数据对json模式文件?

(预先保存)
类似的东西my_field = JSONField(schema_file=my_schema_file)

django postgresql json jsonschema

11
推荐指数
3
解决办法
3629
查看次数

用于初始化惰性实体的标准JPA方法

我正在使用JPA(Hibernate作为我的JPA提供者).我真的试图避免使用hibernate细节并使用JPA规范.我有一个初始化惰性实体的函数.不幸的是,它使用了Hibernate特定的功能.这是我的功能:

private T initializeAndUnproxy(T entity) {
        if (entity == null) {
            throw new 
               NullPointerException("Entity passed for initialization is null");
        }

        Hibernate.initialize(entity);
        if (entity instanceof HibernateProxy) {
            entity = (T) ((HibernateProxy) entity).getHibernateLazyInitializer().getImplementation();
        }
        return entity;
    }
Run Code Online (Sandbox Code Playgroud)

是否有任何纯JPA方式来初始化实体?

hibernate jpa initialization

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

Django在json字段中注释特定键

我正在使用Django 1.9和Postgres 9.5.我有一个MyModelJSONField(django.contrib.postgres.fields)的模型().JSON值在模型中的所有对象中具有相同的结构.

{
"key1": int_val_1,
"key2": int_val_2
}
Run Code Online (Sandbox Code Playgroud)

我想通过我的指定键的值来命令我的查询集JSONField.就像是

MyModel.objects.annotate(val=F('jsonfield__key1')).order_by('val')
Run Code Online (Sandbox Code Playgroud)

这不起作用 - 我收到以下错误

Cannot resolve keyword 'key1' into field. Join on 'jsonfield' not permitted.
Run Code Online (Sandbox Code Playgroud)

无论如何我能做到这一点吗?

python django postgresql json django-queryset

9
推荐指数
1
解决办法
2108
查看次数

从命令行将EAR文件部署到WAS 7

我需要将位于服务器A中的EAR文件部署到位于服务器B中的WebSphere服务器.我需要知道如何通过命令行将EAR从服务器A部署到我的WAS.我在网上炙手可热,但结果只发现了WAS 6(我有WAS 7).有没有人知道如何通过命令行将EAR部署到WAS(在不同的服务器中)?

deployment ear websphere command-line

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

获取spring bean的新实例

我有一个名为的界面MyInterface.实现的类MyInterface(允许调用它MyImplClass)也实现了Runnable接口,因此我可以使用它来实例化线程.这是我的代码.

for (OtherClass obj : someList) {
    MyInterface myInter = new MyImplClass(obj);
    Thread t = new Thread(myInter);
    t.start();
} 
Run Code Online (Sandbox Code Playgroud)

我想要做的是在我的ApplicationContext.xml中声明实现类,并为每次迭代获取一个新实例.所以我的代码看起来像这样:

for (OtherClass obj : someList) {
    MyInterface myInter = // getting the implementation from elsewhere
    Thread t = new Thread(myInter);
    t.start();
} 
Run Code Online (Sandbox Code Playgroud)

如果可能的话,我还想保留IoC模式.
我怎么能这样做?
谢谢

java spring inversion-of-control

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

RabbitMQ心跳与连接排除事件超时


我有一个rabbitmq服务器和一个使用kombu的am​​qp使用者(python).
我已将我的应用程序安装在具有防火墙的系统中,该防火墙在1小时后关闭空闲连接.
这是我的amqp_consumer.py:

try:
    # connections
    with Connection(self.broker_url, ssl=_ssl, heartbeat=self.heartbeat) as conn:
        chan = conn.channel()
        # more stuff here
        with conn.Consumer(queue, callbacks = [messageHandler], channel = chan):
        # Process messages and handle events on all channels
        while True:
            conn.drain_events()

except Exception as e:
    # do stuff
Run Code Online (Sandbox Code Playgroud)

我想要的是,如果防火墙关闭了连接,那么我想重新连接.我应该使用heartbeat参数还是应该将超时参数(3600秒)传递给drain_events()函数?
两种选择有什么区别?(似乎做同样的事).
谢谢.

python timeout heartbeat rabbitmq kombu

7
推荐指数
1
解决办法
981
查看次数

从queryset中的jsonfield中选择值

我有以下情况

class MyModel(models.Model):
    my_field = JSONField(null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)

my_field 是一个JSON字段,具有以下结构:

{
    "name": "some name"
    "id": "some hash id"
}
Run Code Online (Sandbox Code Playgroud)

我想执行类似的事情: MyModel.objects.values(my_field__name)
这将等同于postgres查询:select my_field->>'name' from my_app_my_model
但我似乎无法让django生成所需的查询.
我得到的错误是:

FieldError: Cannot resolve keyword 'name' into field. Join on 'my_field' not permitted.
Run Code Online (Sandbox Code Playgroud)

这里的主要目标是提供一个被调用的字符串列表fields并运行以下命令: MyModel.objects.values(*fields)所以我认为原始的sql解决方案不适合这里.自定义查找适用于该WHERE子句,我不知道该SELECT子句的任何等效项.
有关如何做到这一点的任何想法?
谢谢!

django postgresql

7
推荐指数
1
解决办法
1537
查看次数