女士们先生们.
我正在阅读Google的Closure模板文档.
那里没有那么多代码,但它代表了我无法理解的东西(特别是在Java中).我会一行一行:
// Bundle the Soy files for your project into a SoyFileSet.
SoyFileSet sfs = new SoyFileSet.Builder().add(new File("simple.soy")).build();
Run Code Online (Sandbox Code Playgroud)
我明白了 收集多个模板文件的对象.精细.但为什么.Builder()呢?为什么不new SoyFileSet().add(...).build()呢?
// Compile the template into a SoyTofu object.
// SoyTofu's newRenderer method returns an object that can render any template in file set.
SoyTofu tofu = sfs.compileToJavaObj();
Run Code Online (Sandbox Code Playgroud)
精细.但为什么我要这个呢?收集完文件后,我期待的就像是sfs.render(Map<> data).为什么我需要将其编译为Java对象?
最后......
// Call the template with no data.
System.out.println(tofu.newRenderer("examples.simple.helloWorld").render());
Run Code Online (Sandbox Code Playgroud)
太好了,为什么我必须创建一个中间对象才能调用方法呢?为什么sfs对象没有.render()方法?为什么我需要一个Renderer物体?
Java令人沮丧,为什么不以简单的方式完成任务?
我在我的OpenLDAP服务器中使用服务器端排序.然而,由于我也编写了客户端代码,我可以看到它只是在这种情况下购买了我在客户端的一行排序代码.而且由于客户端是目前的4个,很快就会有16个Tomcats,如果使用气球,可能会有数百个,在客户端进行排序实际上对我来说更有意义.我想知道SSS是否真的被认为是一个想法.我在这种情况下的搜索结果并不大,数十而不是数百.只是想知道它是否可能更像武器而不是工具.
在OpenLDAP中,它与VLV捆绑在一起 - 虚拟列表视图,我有一天会需要它,因此它已经安装:所以它确实是一个编程问题,而不仅仅是一个配置问题,因此SO不是SF.
全部!我在扫描仪/传递文本文件作为方法的参数时遇到问题。如果我在 main 中创建一个 Scanner,我就可以做所有事情。
import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;
public class App {
public static void main(String[] args){
File file = new File([FILEPATH]);
Scanner inputFile = new Scanner(file);
...
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试将文本文件传递给方法并在那里创建扫描仪时,我收到 FileNotFoundException
import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;
public class App {
public static void main(String[] args){
File file = new File([FILEPATH]);
method(file);
}
public static String method(File file){
Scanner inputFile = new Scanner(file); //This is where I get the error :(
...
Run Code Online (Sandbox Code Playgroud)
问题的提示特意说参数必须是文件,所以我不能改成String参数来传递文件路径。
我使用 .getPath() 来确保我的方法中文件的文件路径与 main 中文件的文件路径匹配,而且确实如此。我不确定需要修复什么。非常感谢任何帮助!
编辑; …
我有一个可在Internet上使用的applet,它通过SSH隧道与内部服务器通信.必须为applet提供正确的SSH凭据.将它们编译到applet中并不是很方便; 在HTML中将它们作为applet参数提供,将它们泄露到Internet; 让applet从applet主机服务器下载它们但同样不那么明显.我的问题是,还有另一种我没有想到的方法,只有applet可以获得SSH凭据吗?我可能会让applet使用与浏览器相同的会话ID,在这种情况下,我至少可以将其限制为经过身份验证的用户......但我真的很喜欢更安全的解决方案,没有泄漏.
服务器堆栈有Tomcat,JSF和Facelets.Apache服务器和FTP也可用.
编辑:我应该澄清一下,除了DoS之外,我正在进行的内部服务本身是非常安全的,它更多的是我关注的内部主机的安全性,也不会成为任何地方的公共隧道.SSH PermitOpen配置元素在那里提供了很多帮助.
<f:view>标签是否应该在标签外面(周围)<rich:page>?还是里面呢?
请注意,我确实想要一个<f:view>标签,因为我想设置locale.