<!--
This file is generated during the build by processing Component class annotations.
Please do not edit it directly.
-->
<html>
    <head>
		<title>include</title>
	</head>

	<body>
		<h1>Tag Name: include</h1>
		<h2>Description</h2>
		<p>
		<!-- START SNIPPET: tagdescription -->
		Include a servlet's output (result of servlet or a JSP page)
		<!-- END SNIPPET: tagdescription -->
		</p>

		<h2>Attributes</h2>
		<!-- START SNIPPET: tagattributes -->
		<table width="100%">
			<tr>
				<th align="left" valign="top"><h4>Name</h4></th>
				<th align="left" valign="top"><h4>Required</h4></th>
				<th align="left" valign="top"><h4>Default</h4></th>
				<th align="left" valign="top"><h4>Evaluated</h4></th>
				<th align="left" valign="top"><h4>Type</h4></th>
				<th align="left" valign="top"><h4>Description</h4></th>
			</tr>
				<tr>
					<td align="left" valign="top">id</td>
					<td align="left" valign="top">false</td>
					<td align="left" valign="top"></td>
					<td align="left" valign="top">true</td>
					<td align="left" valign="top">String</td>
					<td align="left" valign="top">id for referencing element. For UI and form tags it will be used as HTML id attribute</td>
				</tr>
				<tr>
					<td align="left" valign="top">value</td>
					<td align="left" valign="top"><strong>true</strong></td>
					<td align="left" valign="top"></td>
					<td align="left" valign="top">true</td>
					<td align="left" valign="top">String</td>
					<td align="left" valign="top">The jsp/servlet output to include</td>
				</tr>
		</table>
		<!-- END SNIPPET: tagattributes -->
	</body>
</html>

