小编use*_*493的帖子

java.lang.ClassCastException:java.util.ArrayList无法强制转换为javax.faces.model.SelectItem

我想让我的下拉动态,下面是我得到的代码和异常.请帮帮我

豆:

    private String dropDownValue;
    List<SelectItem> testDropDown = new ArrayList<SelectItem>();
    List<SelectItem> testDropDownTwo = new ArrayList<SelectItem>();

    public String getDropDownValue() {
        return dropDownValue;
    }


    public void setDropDownValue(String dropDownValue) {
        this.dropDownValue = dropDownValue;
    }


    public List<SelectItem> getTestDropDown() {
        testDropDown.add(new SelectItem("One"));
        testDropDown.add(new SelectItem("Two"));
        testDropDown.add(new SelectItem("Three"));
        testDropDown.add(new SelectItem("Four"));
        return testDropDown;
    }
Run Code Online (Sandbox Code Playgroud)

XHtml代码:

<h:selectOneMenu value="#{loginBean.dropDownValue}">
    <f:selectItem value="#{loginBean.testDropDown}" />
</h:selectOneMenu>
Run Code Online (Sandbox Code Playgroud)

例外:

例外

    javax.servlet.ServletException: java.util.ArrayList cannot be cast to javax.faces.model.SelectItem
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:321)

    root cause 
    java.lang.ClassCastException: java.util.ArrayList cannot be cast to javax.faces.model.SelectItem
    com.sun.faces.renderkit.SelectItemsIterator.initializeItems(SelectItemsIterator.java:185)               com.sun.faces.renderkit.SelectItemsIterator.hasNext(SelectItemsIterator.java:131)
    com.sun.faces.renderkit.html_basic.MenuRenderer.renderOptions(MenuRenderer.java:758)
    com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:840)
    com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:294)
    javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:879)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1650)
Run Code Online (Sandbox Code Playgroud)

一些转发例外正在发生.但我发送SelectItem的ArrayList到列表 …

jsf-2

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

java.lang.Exception: 没有可运行的方法 junit springboot2

我正在为 springboot 应用程序编写 Junits。当我运行junit时,我发现没有方法可以运行。下面是代码junit:

    @RunWith(Suite.class)
    @SuiteClasses({ EmployeeServiceApplication.class })
    public class TestEmployeeService {

        @Mock
        EmployeeRepository empRepo;

        @Autowired
        EmployeeService service;


        @BeforeEach
        void setMockOutput() {
            HashSet<EmployeeView> empSet = new HashSet<>();
            empSet.add(new EmployeeView(1, "firstName", "lastName", "05/30/1986", "EE"));
            when(empRepo.getEmployeeList()).thenReturn(empSet);
        }

        @Test
        public void testGetEmployeeList() {
             Assert.notEmpty(service.getEmployeeList());

    }
Run Code Online (Sandbox Code Playgroud)

pom.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.2.1.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.employeeService</groupId>
        <artifactId>employeeService</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>employeeService</name>
        <description>Demo project for Spring Boot</description>

        <properties>
            <java.version>1.8</java.version>
        </properties>

        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId> …
Run Code Online (Sandbox Code Playgroud)

junit4 spring-boot junit5

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

标签 统计

jsf-2 ×1

junit4 ×1

junit5 ×1

spring-boot ×1