Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 属性对象未更改值_Java_Tapestry - Fatal编程技术网

Java 属性对象未更改值

Java 属性对象未更改值,java,tapestry,Java,Tapestry,我有以下Page.tml代码: <span class="dropdown"> <t:pagelink page="tracker" data-toggle="dropdown" class="dropdown-toggle disabled" style="padding-top: 5px; padding-bottom: 5px;"> <span> <b class="caret"></b&

我有以下Page.tml代码:

<span class="dropdown">
    <t:pagelink page="tracker" data-toggle="dropdown" class="dropdown-toggle disabled" style="padding-top: 5px; padding-bottom: 5px;">
        <span>
            <b class="caret"></b>
            <t:if test="!project"> All Tickets</t:if>
            <t:if test="project"> Project</t:if>
        </span>
    </t:pagelink>
    <ul class="dropdown-menu">
        <li>                    
            <t:pagelink page="tracker" data-toggle="dropdown" class="dropdown-toggle disabled">
            <span>All Tickets</span>
            </t:pagelink>
        </li>
        <t:loop source="projectList" value="project">
            <li><t:pagelink page="tracker" context="${project.id}">${project.title}</t:pagelink></li>
        </t:loop>
    </ul>
</span>
<t:if test="project">
    <span class="path-divider"> > </span>
    <strong>
        <t:pagelink page="tracker" context="project.id">
            <span>${project.title}</span>
        </t:pagelink>
    </strong>
</t:if>

所有票
项目
  • 所有票
  • ${project.title}
> ${project.title}
对于我的页面java类:

@Property
@Inject
private ProjectDao projectDao;
@Property
private Project project;
@Property
private List<Project> projectList;

@Property
@Inject
private TicketDao ticketDao;
@Property
private List<Ticket> ticketList;

@PageLoaded
void onPageLoad() {
    projectList = projectDao.loadAll();
    ticketList = ticketDao.loadAll();
}

void onActivate(Integer contextValue) {
    if (contextValue != null) {  
        project = projectDao.getByID(contextValue);
    }
    if (project != null) {
        List ticketListByProjectID = ticketDao.getTicketsByProjectID(project.getId());
        if (!ticketListByProjectID.isEmpty()) {
            ticketList = ticketListByProjectID;
        }           
    } else {
        ticketList = ticketDao.loadAll();
    }
}
@属性
@注入
私人项目;
@财产
私人项目;
@财产
私人清单项目清单;
@财产
@注入
私家票;
@财产
私人名单;
@页面加载
void onPageLoad(){
projectList=projectDao.loadAll();
ticketList=ticketDao.loadAll();
}
激活时无效(整数上下文值){
如果(contextValue!=null){
project=projectDao.getByID(contextValue);
}
如果(项目!=null){
List ticketListByProjectID=ticketDao.getticketsbyprojectd(project.getId());
如果(!ticketListByProjectID.isEmpty()){
ticketList=ticketListByProjectID;
}           
}否则{
ticketList=ticketDao.loadAll();
}
}

当我从contextValue中选择时,将object
project
更改为其他对象时出现问题。它在TML中始终是同一个对象(它是循环中最后一个元素的值),但在java代码中,当我打印到控制台时,它正在改变。我做错了什么?

您将项目属性用于两个不同的冲突目的——循环变量和所选项。尝试为这两个目的使用不同的变量