您可以通过访问单值请求参数
${param}。<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>...<input name="foo" value="${fn:escapeXml(param.foo)}"><textarea name="bar">${fn:escapeXml(param.bar)}</textarea>...<input type="radio" name="faz" value="a" ${param.faz == 'a' ? 'checked' : ''} /><input type="radio" name="faz" value="b" ${param.faz == 'b' ? 'checked' : ''} /><input type="radio" name="faz" value="c" ${param.faz == 'c' ? 'checked' : ''} />...<select name="baz"> <option value="a" ${param.baz == 'a' ? 'selected' : ''}>label a</option> <option value="b" ${param.baz == 'b' ? 'selected' : ''}>label b</option> <option value="c" ${param.baz == 'c' ? 'selected' : ''}>label c</option></select>请注意,
fn:escapeXml()为了防止XSS攻击,必须使用JSTL 。
您可以通过
${paramValues}EL 3.0流访问多值请求参数。<input type="checkbox" name="far" value="a" ${paramValues.far.stream().anyMatch(v->v == 'a').get() ? 'checked' : ''} /><input type="checkbox" name="far" value="b" ${paramValues.far.stream().anyMatch(v->v == 'b').get() ? 'checked' : ''} /><input type="checkbox" name="far" value="c" ${paramValues.far.stream().anyMatch(v->v == 'c').get() ? 'checked' : ''} />...<select name="boo" multiple> <option value="a" ${paramValues.boo.stream().anyMatch(v->v == 'a').get() ? 'selected' : ''}>label a</option> <option value="b" ${paramValues.boo.stream().anyMatch(v->v == 'b').get() ? 'selected' : ''}>label b</option> <option value="c" ${paramValues.boo.stream().anyMatch(v->v == 'c').get() ? 'selected' : ''}>label c</option></select>


