I can't exactly pin down the 'logic' that is being used by IDEA to incorrectly state that certain page names already exist in my tiles definition file. It seems to possibly have to do with using "." to separate some of the name definitions but even that doesn't seem to always be the case. In the follow tiles-definition file it is stating that every 'name' already exists EXCEPT for the last one (task.detail.page). It seems so odd though.
For example it's highlighting "sample.page" as already existing (which is odd since it's the only place in the definition the word "sample" even appears, other than sampleForm.jsp. However if I go and add a character to after the 'page' (ie sample.page2) then it appears without any errors.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
<tiles-definitions>
<!-- main layouts -->
<definition name="main.layout" path="/tiles/mainLayout.jsp">
<put name="header" value="/WEB-INF/jsp/header.jsp" />
<put name="navigation" value="/WEB-INF/jsp/navigation.jsp" />
</definition>
<definition name="basic.layout" path="/tiles/basicLayout.jsp">
<put name="header" value="/WEB-INF/jsp/header.jsp" />
</definition>
<!-- page sections - mostly used for just getting in page name for link on/off -->
<definition name="search.page.layout" extends="main.layout">
<put name="page_name" value="add" />
</definition>
<definition name="tasks.page.layout" extends="main.layout">
<put name="page_name" value="tasks" />
</definition>
<!-- end main page sections -->
<!-- Pages, these should typically all extend a page section above -->
<!-- if custom title, set "page_title" in Request before leaving Action -->
<definition name="login.page" extends="basic.layout">
<put name="page_title" value="Login" type="string"/>
<put name="content" value="/WEB-INF/jsp/login.jsp"/>
</definition>
<definition name="sample.page" extends="search.page.layout">
<put name="page_title" value="Sample Page" type="string"/>
<put name="content" value="/WEB-INF/jsp/sampleForm.jsp"/>
</definition>
<definition name="tasks.page" extends="tasks.page.layout">
<put name="page_title" value="Tasks" type="string"/>
<put name="content" value="/WEB-INF/jsp/tasks.jsp"/>
</definition>
<definition name="task.detail.page" extends="tasks.page.layout">
<put name="page_title" value="Task Details" type="string"/>
<put name="content" value="/WEB-INF/jsp/task.jsp"/>
</definition>
</tiles-definitions>
Do you have the same tiles-defs.xml mapped multiple times and/or multiple tiles-defs.xml files in your struts-config.xml setup?
Please attach a complete project setup (IPR, IML, relevant config files) to reproduce