本文整理汇总了Java中org.thymeleaf.model.IProcessableElementTag类的典型用法代码示例。如果您正苦于以下问题:Java IProcessableElementTag类的具体用法?Java IProcessableElementTag怎么用?Java IProcessableElementTag使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
IProcessableElementTag类属于org.thymeleaf.model包,在下文中一共展示了IProcessableElementTag类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getContents
import org.thymeleaf.model.IProcessableElementTag; //导入依赖的package包/类
static Contents getContents(final ITemplateContext context,
final IProcessableElementTag tag) {
final Contents contents;
final String from = tag.getAttributeValue(ATTR_FROM);
if (from != null) {
final IEngineConfiguration configuration = context.getConfiguration();
final IStandardExpressionParser parser = getExpressionParser(configuration);
final IStandardExpression expression = parser.parseExpression(context, from);
contents = (Contents) expression.execute(context);
} else {
Object contentsVar = context.getVariable(DEFAULT_VAR_CONTENTS);
if (contentsVar != null) {
contents = (Contents) contentsVar;
} else {
contents = null;
}
}
if (contents != null) {
return contents;
} else {
throw new IllegalStateException(
"Unable to get RxComposer Contents. " +
"You should either provide a template variable named 'contents' or " +
"provide it using attribute 'from': '<rxc:fragment from='${myContents}' position='A' />");
}
}
示例2: shouldReturnContent
import org.thymeleaf.model.IProcessableElementTag; //导入依赖的package包/类
@Test
public void shouldReturnContent() throws IOException {
Contents contents = contentsBuilder()
.add(someContent(A))
.build();
final ITemplateContext context = mock(ITemplateContext.class);
//when(context.getVariable("debugMode")).thenReturn(FALSE);
when(context.getVariable("contents")).thenReturn(contents);
final IProcessableElementTag tag = mock(IProcessableElementTag.class);
when(tag.getAttributeValue("position")).thenReturn("A");
final IElementTagStructureHandler structureHandler = mock(IElementTagStructureHandler.class);
//when
new RxcFragmentElementProcessor().doProcess(context, tag, structureHandler);
//then
verify(structureHandler).replaceWith("Some Content", false);
}
示例3: doProcess
import org.thymeleaf.model.IProcessableElementTag; //导入依赖的package包/类
@Override
protected void doProcess(
final ITemplateContext context, final IProcessableElementTag tag,
final IElementTagStructureHandler structureHandler) {
final String allRolesStr = tag.getAttributeValue("name");
final String[] roles = StringUtils.split(allRolesStr, DELIMITER);
if(ShiroFacade.hasAllRoles(roles)){
structureHandler.removeTags();
} else {
structureHandler.removeElement();
}
}
示例4: doProcess
import org.thymeleaf.model.IProcessableElementTag; //导入依赖的package包/类
protected void doProcess(final ITemplateContext context, final IProcessableElementTag tag,
final AttributeName attributeName, final String attributeValue,
final IElementTagStructureHandler structureHandler) {
IStandardExpressionParser expressionParser = StandardExpressions
.getExpressionParser(context.getConfiguration());
IStandardExpression expression = expressionParser.parseExpression(context, attributeValue);
Boolean enabled = (Boolean) expression.execute(context);
if (enabled) {
expression = expressionParser.parseExpression(context, "@{/resources/konker/images/enabled.svg}");
} else {
expression = expressionParser.parseExpression(context, "@{/resources/konker/images/disabled.svg}");
}
structureHandler.setAttribute("src", (String) expression.execute(context));
structureHandler.setAttribute("class", (String) "enabled-img");
}
示例5: doProcess
import org.thymeleaf.model.IProcessableElementTag; //导入依赖的package包/类
@Override
protected void doProcess(ITemplateContext context, IProcessableElementTag tag, AttributeName attributeName,
String attributeValue, IElementTagStructureHandler structureHandler) {
// Compose message with parameters:
// {0} first reg. position
// {1} latest page reg. position
// {2} total elements
// pagination.summary=Showing {0} to {1} of {2} entries
Locale locale = context.getLocale();
Page<?> page = PageUtils.findPage(context);
int firstItem = PageUtils.getFirstItemInPage(page);
int latestItem = PageUtils.getLatestItemInPage(page);
int totalElements = (int) page.getTotalElements();
boolean isEmpty = page.getTotalElements() == 0;
String attrValue = String.valueOf(attributeValue).trim();
String messageTemplate = COMPACT.equals(attrValue) ? COMPACT_MESSAGE_KEY : DEFAULT_MESSAGE_KEY;
String messageKey = isEmpty ? NO_VALUES_MESSAGE_KEY : messageTemplate;
String message = Messages.getMessage(BUNDLE_NAME, messageKey, locale, firstItem, latestItem, totalElements);
structureHandler.setBody(message, false);
}
示例6: doProcess
import org.thymeleaf.model.IProcessableElementTag; //导入依赖的package包/类
@Override
protected void doProcess(ITemplateContext context, IProcessableElementTag tag, AttributeName attributeName,
String attributeValue, IElementTagStructureHandler structureHandler) {
if (context instanceof WebEngineContext) {
Object page = Expressions.evaluate(context, attributeValue);
if (!(page instanceof Page<?>)) {
throw new InvalidObjectParameterException(
"Parameter " + attributeValue + " is not an Page<?> instance!");
}
((WebEngineContext) context).setVariable(Keys.PAGE_VARIABLE_KEY, page);
}
}
示例7: decorate
import org.thymeleaf.model.IProcessableElementTag; //导入依赖的package包/类
public final String decorate(final IProcessableElementTag tag, final ITemplateContext context) {
String bundleName = getClass().getSimpleName();
Locale locale = context.getLocale();
Page<?> page = PageUtils.findPage(context);
// previous
String previousPage = PageUtils.createPageUrl(context, page.getNumber() - 1);
String prevKey = PageUtils.isFirstPage(page) ? "pager.previous" : "pager.previous.link";
String prev = Messages.getMessage(bundleName, prevKey, locale, previousPage);
// next
String nextPage = PageUtils.createPageUrl(context, page.getNumber() + 1);
String nextKey = page.isLast() ? "pager.next" : "pager.next.link";
String next = Messages.getMessage(bundleName, nextKey, locale, nextPage);
String content = Strings.concat(prev, next);
return Messages.getMessage(bundleName, "pager", locale, content);
}
示例8: doProcess
import org.thymeleaf.model.IProcessableElementTag; //导入依赖的package包/类
@Override
protected void doProcess(ITemplateContext context, IProcessableElementTag tag, AttributeName attributeName,
String attributeValue, IElementTagStructureHandler structureHandler) {
String attrValue = String.valueOf(Expressions.evaluate(context, attributeValue)).trim();
Page<?> page = PageUtils.findPage(context);
String url = PageUtils.createSortUrl(context, attrValue);
// Append class to the element if sorted by this field
Sort sort = page.getSort();
boolean isSorted = sort != null && sort.getOrderFor(attrValue) != null;
String clas = isSorted
? SORTED_PREFIX.concat(sort.getOrderFor(attrValue).getDirection().toString().toLowerCase())
: EMPTY;
structureHandler.setAttribute(HREF, url);
String currentClass = tag.getAttributeValue(CLASS);
structureHandler.setAttribute(CLASS, Strings.concat(currentClass, BLANK, clas));
}
示例9: it_should_fail_with_invalid_arguments
import org.thymeleaf.model.IProcessableElementTag; //导入依赖的package包/类
@Test
public void it_should_fail_with_invalid_arguments() throws NoSuchMethodException {
final Method method = FlashMessagesElementTagProcessor.class.getDeclaredMethod("doProcess", ITemplateContext.class, IProcessableElementTag.class, IElementTagStructureHandler.class);
method.setAccessible(true);
assertThat(method)
.in(this.sut)
.willThrowNullPointerException()
.whenInvokedWithNulls()
.whenInvokedWith(null, this.mockElementTag, this.mockStructureHandler)
.whenInvokedWith(this.mockWebEngineContext, null, this.mockStructureHandler)
.whenInvokedWith(this.mockWebEngineContext, this.mockElementTag, null);
assertThat(method)
.in(this.sut)
.willThrowIllegalArgumentException()
.whenInvokedWith(this.mockTemplateContext, this.mockElementTag, this.mockStructureHandler);
}
示例10: doProcess
import org.thymeleaf.model.IProcessableElementTag; //导入依赖的package包/类
@Override
protected void doProcess(ITemplateContext iTemplateContext,
IProcessableElementTag iProcessableElementTag,
AttributeName attributeName,
String attributeValue,
IElementTagStructureHandler iElementTagStructureHandler) {
final String type = iProcessableElementTag.getAttributeValue("type");
final String property = iProcessableElementTag.getAttributeValue("property");
final String text = ShiroFacade.getPrincipalText(type, property);
final String elementCompleteName = iProcessableElementTag.getElementCompleteName();
final IModelFactory modelFactory = iTemplateContext.getModelFactory();
final IModel model = modelFactory.createModel();
model.add(modelFactory.createOpenElementTag(elementCompleteName));
model.add(modelFactory.createText(HtmlEscape.escapeHtml5(text)));
model.add(modelFactory.createCloseElementTag(elementCompleteName));
iElementTagStructureHandler.replaceWith(model, false);
}
示例11: doProcess
import org.thymeleaf.model.IProcessableElementTag; //导入依赖的package包/类
@Override
protected void doProcess(
final ITemplateContext context, final IProcessableElementTag tag,
final AttributeName attributeName, final String attributeValue,
final IElementTagStructureHandler structureHandler) {
final IEngineConfiguration configuration = context.getConfiguration();
/*
* Obtain the Thymeleaf Standard Expression parser
*/
final IStandardExpressionParser parser = StandardExpressions.getExpressionParser(configuration);
/*
* Parse the attribute value as a Thymeleaf Standard Expression
*/
final IStandardExpression expression = parser.parseExpression(context, attributeValue);
/*
* Execute the expression just parsed
*/
final String origurl = (String) expression.execute(context);
StringBuilder urlBuilder = new StringBuilder(origurl);
CsrfToken token = (CsrfToken) context.getVariable("_csrf");
// token è null quando il csrf è stato disabilitato
if (token!=null) {
final String tokenName = token.getParameterName();
final String tokenValue = token.getToken();
if (urlBuilder.lastIndexOf("?")>-1) {
urlBuilder.append("&");
} else {
urlBuilder.append("?");
}
urlBuilder.append(tokenName).append("=").append(tokenValue);
}
structureHandler.setAttribute("action", urlBuilder.toString());
}
示例12: doProcess
import org.thymeleaf.model.IProcessableElementTag; //导入依赖的package包/类
@Override
protected void doProcess(
final ITemplateContext context, final IProcessableElementTag tag,
final AttributeName attributeName, final String attributeValue,
final IElementTagStructureHandler structureHandler) {
final IEngineConfiguration configuration = context.getConfiguration();
/*
* Obtain the Thymeleaf Standard Expression parser
*/
final IStandardExpressionParser parser = StandardExpressions.getExpressionParser(configuration);
/*
* Parse the attribute value as a Thymeleaf Standard Expression
*/
final IStandardExpression expression = parser.parseExpression(context, attributeValue);
/*
* Execute the expression just parsed
*/
final String semiurl = (String) expression.execute(context);
String resultUrl = yadaDialectUtil.getVersionedAttributeValue(context, semiurl);
/*
* Set the new value into the 'href' attribute
*/
if (resultUrl != null) {
structureHandler.setAttribute(ATTR_NAME, resultUrl);
}
}
示例13: doProcess
import org.thymeleaf.model.IProcessableElementTag; //导入依赖的package包/类
@Override
protected void doProcess(
final ITemplateContext context, final IProcessableElementTag tag,
final AttributeName attributeName, final String attributeValue,
final IElementTagStructureHandler structureHandler) {
final IEngineConfiguration configuration = context.getConfiguration();
/*
* Obtain the Thymeleaf Standard Expression parser
*/
final IStandardExpressionParser parser = StandardExpressions.getExpressionParser(configuration);
/*
* Parse the attribute value as a Thymeleaf Standard Expression
*/
final IStandardExpression expression = parser.parseExpression(context, attributeValue);
/*
* Execute the expression just parsed
*/
final String semiurl = (String) expression.execute(context);
String resultUrl = yadaDialectUtil.getVersionedAttributeValue(context, semiurl);
/*
* Set the new value into the 'href' attribute
*/
if (resultUrl != null) {
structureHandler.setAttribute(ATTR_NAME, resultUrl);
}
}
示例14: doProcess
import org.thymeleaf.model.IProcessableElementTag; //导入依赖的package包/类
@Override
protected void doProcess(final ITemplateContext context,
final IProcessableElementTag tag,
final IElementTagStructureHandler structureHandler) {
final Contents contents = getContents(context, tag);
final Position pos = getPosition(context, tag);
if (contents.get(pos).isAvailable()) {
structureHandler.replaceWith(contents.get(pos).getBody(), false);
} else {
structureHandler.removeTags();
}
}
示例15: getPosition
import org.thymeleaf.model.IProcessableElementTag; //导入依赖的package包/类
static Position getPosition(final ITemplateContext context,
final IProcessableElementTag tag) {
String position = tag.getAttributeValue("position");
try {
final IEngineConfiguration configuration = context.getConfiguration();
final IStandardExpressionParser parser = getExpressionParser(configuration);
final IStandardExpression expression = parser.parseExpression(context, position);
return () -> expression.execute(context).toString();
} catch (final Exception e) {
return () -> position;
}
}