0

我想打开一个新的 JSF 页面,该页面显示我通过来自 Web 服务的字符串获得的外部转换 HTML,将我自己的提交按钮附加到页面并为我自己的目的捕获表单数据(不提交回 Web 服务)。目的是通过调用 Web 服务并以字符串的形式接收转换后的 HTML,从而尝试为我节省大量工作。如何在 JSF 中显示这个 html?使用 IFrame 不是答案。

4

2 回答 2

1

您总是可以使用简单的 javascript 来做到这一点,这里有一个使用 jquery 的示例:

使用 jQuery 编写 HTML

还; 您将需要使用“jQquery 对象”访问您的 JSF 组件,请尝试以下操作:

如何在 jquery 中引用 JSF 组件 ID?

问候,

于 2013-02-20T10:23:56.190 回答
1
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.connect();
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String input = null;
    while ((input = in.readLine()) != null) {
        result = input;  //result is String
    }

然后我将包含 HTML 的结果返回给我的支持 bean。

我使用 f:verbatim 在我的视图上呈现 HTML

connection = (HttpURLConnection) url.openConnection();
        connection.setDoInput(true);
        connection.setUseCaches(false);
        connection.setAllowUserInteraction(false);
        connection.setRequestProperty("Accept-Charset", "UTF-8");
        connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
        connection.connect();
        InputStream in = new BufferedInputStream(connection.getInputStream());
        Scanner scanner = new Scanner(in, "UTF-8").useDelimiter("\\A"); // \\A regex ensures that I get the whole stream in one go - Match only at beginning of string (same as ^)
        while (scanner.hasNext()) {
            result += scanner.next();
        }
于 2013-02-20T11:46:51.827 回答