我在位于http:// localhost:8080/index.html的简单HTML页面上插入了一个Java Applet :
<applet id="applet" code="SomeCode.class" archive="lib.jar" Width="1" Height="1"></applet>
Run Code Online (Sandbox Code Playgroud)
Java Applet有一个类似于下面代码的方法:
public void PostStuffToServer() {
String server = "http://localhost:8080/PostHandler.ashx";
URL u = new URL(server);
URLConnection con = u.openConnection();
con.setDoOutput(true);
con.getOutputStream().write(stream.toByteArray());
con.connect();
}
Run Code Online (Sandbox Code Playgroud)
当我从JavaScript执行applet代码时,如下所示:
obj = document.getElementById('applet');
obj.getClipboardImageURL();
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
访问被拒绝(java.net.SocketPermission 127.0.0.1:8080 connect,resolve)
似乎Java代码将域localhost解析为其等效的IP地址,因此引发了跨域安全限制.当我从http://127.0.0.1:8080/index.html执行相同的代码时,它工作正常.lib.jar文件已签名.
反正有没有避免这个?
我想在我的Vaadin应用程序中包含一个Iframe,我该如何继续实现呢?我最初的想法是使用Vaadin书中描述的方法包装GWT Frame小部件.这是可能的,还是有更好的方法?
我想使用Grails中的JSON渲染方法渲染复杂类型,类似于下面的JSON输出:
{"authors":[{"id":1,"name":"Author 1","books":[{"id":1,"name":"Book 1"},{"id":2,"name":"Book 2"}]},{"id":2,"name":"Author 2","books":[{"id":1,"name":"Book 1"},{"id":2,"name":"Book 2"}]}]}
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下代码执行此操作,其中Author和Book是包含属性id和name以及Author hasMany Books(association)的域类.
def results = Authors.list()
render(contentType:"text/json") {
authors = array {
for(a in results) {
author id:a.id, name:a.name, books: array = {
def bookresults = Book.findAllByAuthor(a)
for(b in bookresults) {
book id:b.id, name:b.name
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
它仅适用于作者,但是当我尝试遍历每个作者的书籍并渲染它们时,代码就会失败.
有任何想法吗?
最终代码更新了问题
感谢Dave的回答,我最终得到了以下代码,它按预期工作:
def authors = []
for (a in Author.list()) {
def books = []
def author = [id:a.id, name:a.name, books:books]
for (b in Book.findAllByAuthor(a)) {
def book = [id:b.id, …Run Code Online (Sandbox Code Playgroud) 我有一个类似于下面的代码片段,我想将其重构为两个不同的函数,每个函数都有自己的连接(为了更好的维护):
Dim Conn, Sql, RS
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConnString
Sql = SELECT * FROM CLIENTS
Set RS = Conn.Execute(sql)
//'Do something with Clients
Set RS = Nothing
Sql = SELECT * FROM DEALERS
Set RS = Conn.Execute(sql)
//'Do something with Dealers
Set RS = Nothing
Conn.Close
Set Conn = Nothing
Run Code Online (Sandbox Code Playgroud)
是否有两个函数(例如 GetClients 和 GetDealers)分别打开和关闭它们自己的连接会对性能产生重大影响,与仅打开和关闭单个连接相反,如上图所示?如果是这样,您将如何重构代码?
我需要一种方法来在控制台应用程序中显示多行文本(例如1000行),并能够滚动所有行.但是,当我执行下面的代码片段之类的操作时,我只能在控制台中看到最后100行.
for (int i = 1; i <= 1000; i++)
{
Console.WriteLine(i.ToString());
}
Run Code Online (Sandbox Code Playgroud)
我最初的目的是显示一些线条(例如一次100个),让用户点击进一步浏览,但我希望有一种更容易 - 更友好的方式?
有谁知道如何使用Pythons strptime方法解析标题中描述的格式?
我有类似的东西:
import datetime
date = datetime.datetime.strptime(entry.published.text, '%Y-%m-%dT%H:%M:%S.Z')
Run Code Online (Sandbox Code Playgroud)
我似乎无法弄清楚这是什么样的时间格式.顺便说一句,我是Python语言的新手(我已经习惯了C#).
UPDATE
这是我根据以下建议(答案)更改代码的方式:
from dateutil.parser import *
from datetime import *
date = parse(entry.published.text)
Run Code Online (Sandbox Code Playgroud) 我刚刚开始使用Xcode和Interface Builder,所以简单到插入徽标作为图像(.png),我只是无法理解.
我知道有一个ImageView,你可以在iPhone App上插入,但在开发OSX App时我似乎无法找到该组件.那么在Interface Builder中将静态图像插入面板的最佳方法是,我是否使用自定义视图?