# Render a view without writing a handler

> A route with no handler renders the view named after its URL, or the view you name.

Framework: total5
Product: Total.js 5 (total5@0.0.19)
Language: en
Content-SHA256: 32fc1257277ade3f3462f63f6feed151aaea8fd98344211a4400a0b6e7b514a9
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: total5-installed@total5@0.0.19
Review: not-recorded

When a route has no handler, Total.js renders a view for it: `views/about.html` for `/about/` and `views/index.html` for `/`. You can also name the view yourself by passing a string instead of a function.

```html views/layout.html
<!DOCTYPE html><html><body>@{body}</body></html>
```

```html views/index.html
<h1>Home</h1>
```

```html views/about.html
<h1>About us</h1>
```

```html views/contact-page.html
<h1>Contact</h1>
```

```js controllers/default.js
exports.install = function() {
	ROUTE('GET /');
	ROUTE('GET /about/');
	ROUTE('GET /contact/', 'contact-page');
};
```
