我有一个问题,我不知道如何解决,也无法在网上找到一些线索,但问题应该是微不足道的......
我有一个TreeView<File>我想填写基于给定路径的目录和文件列表.问题是目录被添加到树中,但无法展开,因此我无法在里面显示文件.
这是我的一些简单的控制器代码:
public class MainViewController implements Initializable {
@FXML // fx:id="filesTree"
private TreeView<File> filesTree;
@Override
public void initialize(URL url, ResourceBundle rb) {
File currentDir = new File("src/xslt"); // current directory
findFiles(currentDir);
}
public void findFiles(File dir) {
TreeItem<File> root = new TreeItem<>(new File("Files:"));
root.setExpanded(true);
try {
File[] files = dir.listFiles();
for (File file : files) {
if (file.isDirectory()) {
System.out.println("directory:" + file.getCanonicalPath());
findFiles(file);
} else {
System.out.println(" file:" + file.getCanonicalPath());
root.getChildren().add(new TreeItem<>(file));
}
root.getChildren().add(new TreeItem<>(file));
}
filesTree.setRoot(root); …Run Code Online (Sandbox Code Playgroud) 我想构建一个简单的端点,它返回一个Order对象,我可以在其中通过单个查询参数或多个查询参数的组合来搜索此订单。所有这些查询参数都是可选的,原因是不同的人会根据不同的 Id 访问这些订单。
例如:
/order/items?itemId={itemId}&orderId={orderId}&deliveryId={deliveryId}&packetId={packetId}
@GetMapping(path = "/order/items", produces = "application/json")
public Order getOrders(@RequestParam Optional<String> itemId,
@RequestParam Optional<String> orderId,
@RequestParam Optional<String> deliveryId,
@RequestParam Optional<String> packetId) { }
Run Code Online (Sandbox Code Playgroud)
我当然也可以跳过 JavaOptional 并使用@RequestParam(required = false),但这里的问题是如何避免检查查询参数是否为空的噩梦if-else?.isPresent()或者是否有一种优雅的方法,根据参数的组合,进一步传递到我的服务和 Spring Data JPA 存储库。