Question: I am wanting to publish an application event using `ApplicationEventPublisher#publishEvent()` from a Spring Web Flow step. The publisher is usually the application context, but I'd rather not make that assumption unless necessary (particularly for mocking). Is there a recommended approach for referring to the publisher object from a SpEL expression?

Answer: 
This is your browser filling in a saved password for you. If you want to disable that feature, you need to apply `autocomplete="off"` to the input:

```
@Html.Password("ConfirmPassword", new { maxlength = "20", autocomplete = "off })

```
That's because [`Html.Password`](https://msdn.microsoft.com/en-US/library/system.web.mvc.html.inputextensions.password(v=vs.118).aspx) sees the second parameter as the field value. So your code `@Html.Password("ConfirmPassword", new { maxlength = "20" })` is passing `'{ maxlength = "20" }'` as the initial value to your field.

This is the HTML markup that your code generates... Notice the value.

```
<input id="ConfirmPassword" 
       name="ConfirmPassword" 
       type="password" 
       value="{ maxlength = 20 }">

```

If you change the HTML in Chrome (using Developer tools), and remove the `type="password"`, you'd see the value in the field in clear text.

I suggest using [`Html.PasswordFor`](https://msdn.microsoft.com/en-US/library/system.web.mvc.html.inputextensions.passwordfor(v=vs.118).aspx) which is what you did for the other password field. It removes the need to specify string for property names.