小编Dan*_*sek的帖子

未调用JSF CommandButton操作

我有一个问题,没有调用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)

java jsf java-ee

18
推荐指数
2
解决办法
5万
查看次数

错误:`error - java.lang.IllegalArgumentException:从类路径获取文件时,URI不是分层的

我有一个包含在类路径中的目录中的文件.看起来像这样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.

我该如何解决这个问题?

java file classpath

12
推荐指数
2
解决办法
3万
查看次数

Scanner.hasNext()返回false

我有一个包含许多文件的目录 - 每个文件都有超过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没有.

java file java.util.scanner

4
推荐指数
2
解决办法
8470
查看次数

如何在Jung 2中听取顶点选择的变化?

如何在Jung 2中听取顶点选择的变化?我一直在尝试使用PropertyChangeListener和ChangeListener.

java vertex jung

3
推荐指数
1
解决办法
1343
查看次数

许多删除单个JDBC查询中的查询

我在课堂上遇到生成删除命令的问题:

    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)

java mysql jdbc

2
推荐指数
1
解决办法
1219
查看次数

drawLine不会在BufferedImage上绘制线条

我有一个以下问题.我想在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)

感谢帮助.

java swing bufferedimage graphics2d

1
推荐指数
1
解决办法
2032
查看次数