标签: freemarker

Spring Security自定义标记表单

我正在研究一个项目,我们使用freemarker作为模板语言.我没有使用defualt登录表单,而是创建了一个自定义控制器和一个与该控制器一起使用的自定义freemarker视图

码:

@Controller
public class LoginController {
private static finaal String LOGIN = "components/security/login";

@RequestMapping("/security/login")
public String login(){

    return LOGIN;
   }
}
Run Code Online (Sandbox Code Playgroud)

我的freemarker模板:

HTML代码:

<form action="${rc.contextPath}/j_spring_security_check" method="post">
    <label for="username">Username</label><input type="text" id="username" name="j_username"><br/>
    <label for="password">Password</label><input type="text" id="password" name="j_password"><br/>
   <input type="submit" value="Login!">
</form>
Run Code Online (Sandbox Code Playgroud)

我的applicationContext-security.xml

  <http>
    <logout/>
        <intercept-url pattern="/*" access="ROLE_ADMIN, ROLE_GUEST"/>
        <intercept-url pattern="/security/login" filters="none"/>
        <form-login login-page="/security/login" />
    </http>
Run Code Online (Sandbox Code Playgroud)

登录就像一个魅力但是,当用户输入错误的用户名或密码时,没有显示错误消息,我无法弄清楚如何做到这一点.你能帮我解决吗?

freemarker spring-security

0
推荐指数
1
解决办法
5069
查看次数

将javascript值添加到Freemarker列表

我需要将javascript函数的值添加到freemarker列表中

示例:我从我的控制器传递给视图一个对象schoolObject.schoolObject有一个名为classNames的List属性

是否适用于从javascript中为此列表添加值!

以下不起作用:

function addclass(className){ 
    var name=document.getElementById(smth).value.trim();
    document.getElementById(classNames).value=name
    alert(document.getElementById(classNames).value);
  }
Run Code Online (Sandbox Code Playgroud)

javascript freemarker

0
推荐指数
1
解决办法
4053
查看次数

是否可以插入 freemarker 宏?

假设我有一个 freemarker 宏:

<#macro helloObject>
  World
</#macro>
Run Code Online (Sandbox Code Playgroud)

在某些情况下,我可以轻松调用它:

Hello, <@helloObject/>!
Run Code Online (Sandbox Code Playgroud)

但是插入它的语法是什么,例如,如果它是字符串的一部分?

<#assign greeting="Hello, <@helloObject>!"     /> <#-- doesn't work -->
<#assign greeting="Hello, ${helloObject}!"     /> <#-- doesn't work -->
<#assign greeting="Hello, ${@helloObject}!"    /> <#-- doesn't work -->
<#assign greeting="Hello, ${<@helloObject/>}!" /> <#-- doesn't work -->
<#assign greeting="Hello, @helloObject!"       /> <#-- doesn't work -->
${greeting}
Run Code Online (Sandbox Code Playgroud)

template-engine freemarker templating templating-engine string-interpolation

0
推荐指数
2
解决办法
2192
查看次数

自由标记:freemarker.core.InvalidReferenceException

我使用 freemarker 模板,并且在下面的 ftl 文件中给出了代码。

<#if (actionErrors?exists && actionErrors?size > 0)>
    <ul>
    <#list actionErrors as error>
        <li><span<#rt/>
<#if parameters.cssClass?exists>
 class="${parameters.cssClass?html}"<#rt/>
</#if>
<#if parameters.cssStyle?exists>
 style="${parameters.cssStyle?html}"<#rt/>
</#if>
>${error}</span></li>
    </#list>
    </ul>
</#if>
Run Code Online (Sandbox Code Playgroud)

上面的代码给出了以下错误。

freemarker.core.InvalidReferenceException:第 33 行的表达式错误未定义

我用 <#if error.value??> 包裹 ${error} 并再次尝试。但它仍然给出了同样的问题。然后我使用了此处提到的 ${error.value!'N/A'} 。仍然没有解决问题。请在这件事上给予我帮助。

先感谢您。

谢谢。

java spring freemarker

0
推荐指数
1
解决办法
2万
查看次数

Java Freemaker空间数量

您好我有这样的模板:

......
<body onload='setInterval(function(){refresh()}, ${refreshPeriod} ); setClientTime();'>
<p>UserId: ${userId}</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

当我生成我的模板并将userId像4195578878989842599它一样显示时4 195 578 878 989 842 599,是否可以修复它?

java freemarker

0
推荐指数
1
解决办法
1068
查看次数

如果freemarker中输入元素的checked属性中的语句?

是否有可能在freemarker中写这个.

<input type="checkbox" value="Available ?" checked="<#if ${status}=='Available'>true<#else>false</#if>"/>
Run Code Online (Sandbox Code Playgroud)

现在它抛出异常

如果status属性等于,我想要检查html复选框"Available".

如何在freemarker中执行此操作?

freemarker

0
推荐指数
1
解决办法
4692
查看次数

如何在freemarker中实现自定义计数器?

我有一个正在迭代的列表,但我想使用自己的计数器。我尝试了几次不成功的尝试来实现我自己的计数器。内置函数将不起作用,因为某些记录会被即时从列表中过滤掉,但我只想计算未过滤的记录。我尝试为变量赋值并递增,但似乎总是重复该值。

示例代码

 <#list recordList as record>
    <#assign count>${record_index + 1 }</#assign>
    <#if record.isNotExcluded()>            
        <#lt> Record ${count}   
    </#if> 
</#list>
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,如果我有 5 条记录并且第三条记录被排除,那么它会抛出编号。

java freemarker

0
推荐指数
1
解决办法
6261
查看次数

如何在 Angular JS 中访问 freemarker 对象,或者我可以使用 Angular 代替 Freemarker

我如何使用 angularjs 访问 freemarker 中的值。我在 freemarker 中有一个这样的地图,其中有 bean 。我如何在 Angular js 中使用它?

前任:<#list dataMap["TRIGGER-JOBS"]["RE3"]["statusKey"] as espBean>

如何dataMap使用 Angular JS 获取其中的值?或者有没有办法我可以只使用 Angular js而不是 freemarker.if 那么怎么样?我是 Angular JS 的新手,请指导我。

提前致谢。

javascript java freemarker angularjs

0
推荐指数
1
解决办法
1027
查看次数

布尔值的Freemarker快捷方式:“不为null,为true”

如果定义了foobar,这似乎显示“ Hello world”

<#if foobar??>
    Hello world
</#if>
Run Code Online (Sandbox Code Playgroud)

如果foobar是布尔值,如果foobar都已定义且为true,我该如何使用Hello World来编写?

freemarker

0
推荐指数
1
解决办法
3168
查看次数

当我构建 Spring Boot 的 Web 项目时,我无法使用 freemarker

我的请求可以进入我的Welcomecontroller的方法,但似乎该方法无法返回freemarker页面给我或者spring boot没有区分freemarker(我已将.ftl文件放入/resources/templates/)

当我输入网址http://localhost:8080/index时

我从 chrome 中得到了这个,并且在 IDEA 的控制台中没有报告任何错误:

Whitelabel 错误页面 此应用程序没有 /error 的显式映射,因此您将其视为后备。

2020 年 1 月 4 日星期六 22:52:53 CST 出现意外错误(类型=未找到,状态=404)。没有可用的消息

我的代码如下:

@Controller
public class WelcomeController {

    @Value("${application.message}")
    private String message;

    @GetMapping("/index")
    public String welcome(Map<String, Object> model) {
        model.put("time", new Date());
        model.put("message", this.message);
        return "welcome";
    }
}
Run Code Online (Sandbox Code Playgroud)
@SpringBootApplication
public class QuestionsiteApplication {
    public static void main(String[] args) {
        SpringApplication.run(QuestionsiteApplication.class, args);
    }

}
Run Code Online (Sandbox Code Playgroud)

欢迎.ftl:

<!DOCTYPE html>
<html lang="en">
<body>
    Date: ${time?date}
    <br>
    Time: ${time?time}
    <br>
    Message: ${message}
</body>
</html> …
Run Code Online (Sandbox Code Playgroud)

java spring tomcat freemarker spring-boot

0
推荐指数
1
解决办法
2672
查看次数

FreeMarker和数组如何将项目分配到特定位置

我需要修改给定 FreeMarker 中位置的数组元素。

 var arr = [];
 arr[0] = "Jani";
 arr[1] = "Hege";
 arr[2] = "Stale";
 arr[3] = "Kai Jim";
 arr[4] = "Borge";
Run Code Online (Sandbox Code Playgroud)

可以在 freemarker 中做到这一点,你可以教我一个例子

<#macro cuenta d > 

<#assign posicion=0> 

<#assign arregloCuenta=[]> 

<#list args.array?split(",") as value> 

<#assign posicion=posicion+1> 

<#if d.properties["bchile:tipodoc"]?exists >

 <#if d.properties["bchile:tipodoc"] == value>

 <#assign arregloCuenta=["juan"]> 

<#assign arregloCuenta= arregloCuenta + ["felipe"]> ${args.array[0]} ${posicion} ${arregloCuenta[1]} </#if> </#if> </#list> </#macro> 
Run Code Online (Sandbox Code Playgroud)

arrays freemarker

-1
推荐指数
1
解决办法
1万
查看次数