我有一个问题,没有调用JSF CommandButton操作.我有一个托管bean roleController,如
@ManagedBean(name = "roleController")
@RequestScoped
public class RoleController {
public Role getSelectedRole() {
return selectedRole;
}
public void updateSelectedRole() {
System.out.println(selectedRole.getRole());
}
Run Code Online (Sandbox Code Playgroud)
在我的.jsf文件中,我正在尝试在h:commandButton上编辑调用updateSelectedRole操作,但它似乎不起作用.我试图将方法名称更改为不正确的名称,并且没有抛出异常 - 但是当我对其他表单执行相同操作时,抛出异常 - 因此很可能甚至不会调用该操作.
<h:panelGroup rendered="${param.action == 'edit'}">
<h:form>
<ol>
<li>
<label for="ID">
<h:outputText value="#{msg.roleEditID}" />
</label>
<h:inputText readonly="true"
value="#{roleController.selectedRole.id}" />
</li>
<li>
<label for="Role">
<h:outputText value="#{msg.roleEditRole}" />
</label>
<h:inputText value="#{roleController.selectedRole.role}" />
</li>
<li>
<h:commandButton value="#{msg.buttonUpdate}"
action="#{roleController.updateSelectedRole()}"/>
</li>
</ol>
</h:form>
</h:panelGroup>
Run Code Online (Sandbox Code Playgroud)
我发现它可能是嵌套表单引起的,但在本例中并非如此.这个问题的根源是否可能是我的导航规则?
<navigation-rule>
<from-view-id>/admin/roles.xhtml</from-view-id>
<navigation-case>
<to-view-id>/admin/roles.xhtml</to-view-id>
<from-outcome>true</from-outcome>
<redirect>
<view-param>
<name>action</name>
<value>edit</value>
</view-param>
</redirect>
</navigation-case>
</navigation-rule>
Run Code Online (Sandbox Code Playgroud) 我有一个包含在类路径中的目录中的文件.看起来像这样pl/shenlon/io/gui/appData/file.txt.现在,当我尝试将其转换为文件并使用以下代码阅读时:
File cityNamesFile = new File(ClassLoader.getSystemResource("pl/shenlon/io/gui/appData/list.txt").toURI());
Scanner cns = new Scanner(cityNamesFile);
Run Code Online (Sandbox Code Playgroud)
我得到以下内容: -
error - java.lang.IllegalArgumentException: URI is not hierarchical.
我该如何解决这个问题?
我有一个包含许多文件的目录 - 每个文件都有超过800行.Hovewer,当我尝试使用Scanner阅读它时,它似乎是空的.
File f1 = new File("data/cityDistances/a.txt"),
f2 = new File("data/cityDistances/b.txt");
System.out.println(f1.exists() && f2.exists()); //return true
System.out.println(f1.getTotalSpace() > 0 && f2.getTotalSpace() > 0); //return true
Scanner in = new Scanner(f1);
System.out.println(in.hasNext()); // return false;
System.out.println(in.hasNextLine()); //return false;
Run Code Online (Sandbox Code Playgroud)
为什么它会像那样?
我已成功使用它BufferedReader.尽管如此,它似乎更奇怪的是BufferedReader工作和Scanner没有.
如何在Jung 2中听取顶点选择的变化?我一直在尝试使用PropertyChangeListener和ChangeListener.
我在课堂上遇到生成删除命令的问题:
private String generateDeleteCommand() {
StringBuilder deleteCommand = new StringBuilder();
for (ForeignKey fk : exportedForeignKeys) {
deleteCommand.append("DELETE FROM ").append(fk.foreignTableName)
.append(" WHERE ").append(fk.foreignColumnName)
.append("=:").append(fk.primaryColumnName).append(";\n");
}
deleteCommand.append("DELETE FROM ").append(tableName)
.append(" WHERE ");
for (String key : primaryKeys.keySet()) {
deleteCommand.append(key).append("=:").append(key).append(" AND ");
}
deleteCommand
.delete(deleteCommand.length() - 5, deleteCommand.length());
deleteCommand.append(";");
System.out.println(deleteCommand);
return deleteCommand.toString();
}
Run Code Online (Sandbox Code Playgroud)
我在phpmyadmin中使用时获得的查询是有效的 - 但是当我尝试将其与jdbc executeUpdate()一起使用时,我得到MySQLSyntaxError,即对于带有两个导出外键查询的表"trasy",如下所示:
DELETE FROM kursy WHERE ID_TRASY=19;
DELETE FROM przystanki WHERE ID_TRASY=19;
DELETE FROM trasy WHERE ID_TRASY=19;
Run Code Online (Sandbox Code Playgroud)
例外:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check …Run Code Online (Sandbox Code Playgroud) 我有一个以下问题.我想在BufferedImage上画线,但它们没有显示出来.如果我不加载图像,他们将显示.问题是什么?这是我的代码:
@Override
public void paintComponent(Graphics g) {
prepareImage();
g.drawImage(buffer, 0, 0, null);
g.dispose();
}
private void prepareImage() {
Graphics g = buffer.createGraphics();
g.drawImage(mapImage, 0, 0, null);
g.setColor(Color.RED);
for (Line line : lines)
g.drawLine(line.x1, line.y1, line.x2, line.y2);
lines.clear();
g.dispose();
}
Run Code Online (Sandbox Code Playgroud)
感谢帮助.