method-signature constraints in TLD files.
Example Java class:
public class ExampleAction {
public void goodAction() { ... }
public void badAction(String str) { ... }
}
Example JSP file:
<jsp:useBean id="example" scope="request" type="org.example.ExampleAction"/>
<f:view>
<h:commandButton action="#{example.goodAction}"/> // Good: method accepts zero arguments and returns `void`
<h:commandButton action="#{example.badAction}"/> // Error: method `void badAction(String)` returns `java.lang.String` type instead of `void`
</f:view>