我正在尝试根据此Tutorial显示带有挂毯的网格,但出现此错误Class mypack.pages.User has been transformed and may not be directly instantiated
这些是我的班级用户

    public class User {
        @NonVisual
        private long id;

        private String firstName;

        private String lastName;

        private int age;

        public long getId() { return id; }

        public void setId(long id) { this.id = id; }

        public String getFirstName() { return firstName; }

        public void setFirstName(String firstName) { this.firstName = firstName; }

        public String getLastName() { return lastName; }

        public void setLastName(String lastName) { this.lastName = lastName; }

        public int getAge() { return age; }

        public void setAge(int age) { this.age = age; }

        public User(long id, String firstName, String lastName, int age) {
            super();
            this.id = id;
            this.firstName = firstName;
            this.lastName = lastName;
            this.age = age;
        }
}


Bellilpage.java

public class Bellilpage {
     @Property
        private User user;

    public List<User> getUsers() {

         List<User> dd= new ArrayList<User>();
         for(int x=0;x<1;x++)
         {
             Random rand = new Random();
             long d= rand.nextInt(50);
            User myuser = new User(d, "Name N° "+d, "lastName N "+d, (int) (d+15));

        dd.add(myuser);
         }

         return dd; }

}


最后这就是我尝试在网页中显示网格的方式
Bellilpage.tml

<html t:type="layout" title="tapestrythetest Index"
      t:sidebarTitle="Framework Version"
      xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd"
      xmlns:p="tapestry:parameter">
    <!-- A Zone is a component that can be updated in place, triggered by other components. -->
    <t:zone t:id="zone">
      <h1>List Users</h1>

        <t:grid source="users"  row="user">
            <p:lastNameCell>
           ${user.lastname}
            </p:lastNameCell>

        </t:grid>
    </t:zone>

    <p:sidebar>

    </p:sidebar>

</html>


为什么打开Bellilpage.tml时会出现此错误?

最佳答案

由于mypack.pages是T5受控程序包,因此出现错误。将您的User类移至其他包,例如到mypack.entities。有关更多信息,请参见Component Classes,尤其是“组件包”部分。

10-06 03:48